Releases: 4ian/GDevelop
5.3.180
GDevelop 5.3 is out!
GDevelop is being constantly updated with great new features and smaller patches all of the time. 5.3 is the combination of all of the minor changes that have been made since 5.2, which when combined with extra shine and polish, add up to a vastly superior experience.
Read the full blog article about it here and the YouTube announcement video here.
What follows is the changelog of the last patch only.
💝 Improvements
- Update Solarized Dark theme mosaic toolbar color (Thanks @jakerosado!)
- Add 2 new shapes in the shape painter object actions (Thanks @trp02!)
- Polygon
- Rectangle with chamfers
- Remove possibility to rename item on click a short delay after item has been selected
- Add the 3D particle emitter in the object list
- Move the Z-order action and condition to the "Layer" group
- Improve the action/condition search to give as many results as possible
- Improve descriptions for impulse and force actions of the Physics behavior
- Allow installing up to 200 assets at the same time
⚙️ Extensions
- [Reviewed] [3D particles]
- Fix a crash when there is no model or box in the project
- Fix wrong position of the 1st particle
- [Community] [3D raycast] Fix the camera raycast when there is no object instance
🎨 Assets
Free packs
- Add new animated characters into GrafxKid's Pack (Thanks @Entr0py404!)
- [New] 3D particles
Premium packs:
🕹 Examples
- [Platformer with tilemap] Add a comment to explain camera settings for pixel art
🐛 Bug fixes
- Fix cloud projects preview not working
- Fix some memory leaks in 2D object renderers
- It should reduce a game memory use when switching scenes
- Fix "Scale Z" group in actions/conditions editor
- Fix scale actions group
- Fix a crash when only the
Ease
expression is used from Tween extension - Fix videos not restarting when coming back to a scene that was unloaded
- Fix loading screen not displaying custom background
- Fix objects list search feature crashing the editor
- Fix a crash in games when objects are used after being deleted
🛠 Internal changes (for developers)
- Use new electron notarize tool to comply with Apple signing requirements.
5.3.179
Warning
This version is deprecated due to an issue with the loading screen and in-game crashes. Please use the version 5.3.180 instead.
5.2.178
💝 Improvements
📂 Organize your objects into folders
You can now create folders as a means to organize your objects when editing a scene or an external layout.
Thanks to @Silver-Streak, Matt Pin, @arthuro555, SnailMail, @TheGemDev, Peeble and Rasterisko for all the help designing and testing the feature.
Warning
Object tags have been dropped in this version since they were not practical to use thus not widespread used. The object folders can be seen as a replacement.
⚡️ Reload resources in the editor when the resource changes
GDevelop now refreshes resources (images, videos, 3D models, fonts, etc.) when a change is detected on the filesystem so that you can immediately see the changes.
This allows to efficiently use GDevelop alongside other tools (Tiled or LDtk for instance).
Note
- This logically only affects the desktop version for projects saved on the filesystem;
- You can deactivate it in the preferences.
🔀 Tween extension rework
The tween extension has been improved to fix known bugs and to ensure a better maintainability in the future.
The change should be seamless in your games.
Main changes:
- Use seconds instead of milliseconds.
- Use exponential interpolation for scale, zoom and font size so they really feel linear when "linear" easing is chosen.
- 2 new expressions have been added:
Object.Tween::Value("MyTween")
orTween::Value("MyTween")
can be used to get the value. - The "Has finished" action now becomes true as soon as the targeted value is reached instead of one frame later.
- 2 camera tweens with the same name can no longer play at the same time. The 2nd one now replaces the 1st one.
To see all the changes, please refer to this.
Warning
3D related tweens have been deprecated, you won't find them anymore. Instead you can use the community extension "3D Tween".
Other improvements
- The preview window now displays an error above your game in case there is a crash. It will help us debugging those crashes.
- Add "Help > About GDevelop" menu option for non-Mac users (Thanks @tristanbob!)
- Do not clear instance selection when panning with middle mouse button on scene editor
- Optimize evaluation of several forces on 1 object
- Improve data sent to automatic error report
- Improve the Share/Publish dialog: larger window, clearer sections and wording
- Add animation time control for sprites and 3D models
- Unify text expressions conditions and actions between objects
- Add error message when trying to login without connection to internet
- Hide expressions GetArgumentAsString and GetArgumentAsNumber as they are now replaced by just being able to write the parameter name in an expression
- Add a setting to show warnings about deprecated instructions
- Activate support for unicode characters (including emojis) for all names (objects, groups, variables, functions, parameters) on all projects
- Add string condition operators: starts with, ends with and contains (Thanks @danired!)
- Add HSL adjustment, motion blur and shockwave effects
⚙️ Extensions (updates)
Reviewed extensions
- Third person camera
- Use object Z position
- Handle extreme elevation angles
Community extensions
- [3D Tween] Tweens can now also be applied to boxes
- [3D raycaster] Find 3D objects that cross a line
- [NavMesh Pathfinding] Fix the animator behavior direction count property default value
🎨 Assets
New free asset packs from Kenney:
New premium asset pack by GDevelop:
🕹 Examples (updates)
- [3D Car Coin Hunt] Rotate the camera with the car
🐛 Bug fixes
- Attempt to fix a widespread crash at GDevelop editor opening
- Fix error message not cleared after choosing a color in a color picker
- Fix a potential crash by ensuring selection of instances does not contain deleted global objects
- Fix a bug where creating a panel sprite with low opacity would prevent changing its opacity afterwards
- Fix Bitmap text resource action parameter type
- Fix 3D distance sorting issues by using a higher default near plane
- Fix Physics behavior forces effect under 60 fps
- Fix game preview black screens: the loading of forbidden file types (GIF for instance) now errors clearly and does not silently prevent game loading
- Fix unicode/emojis not supported in function parameter names
- Fix: Prevent root variable from having white spaces
- Fix example opening wrongfully opening "Create from scratch" dialog
- Fix particles angle when the speed is negative
- Fix "Locate file" for resource to open the folder in front of the app
5.2.177
Warning
This version is deprecated due to an issue with Scene tweens. Please use the version 5.2.178 instead.
5.2.176
💝 Improvements
- Animation names in a dropdown are not sorted by name anymore for consistency
- Add possibility to set Z offset when creating instances from external layout
- Allow to properly use variables/properties/parameters in brackets to access a structure variable
- This means expressions like
MyStructure[SomeIndexVariable]
will work properly for a structure ifSomeIndexVariable
is a string variable. Gdevelop now properly uses the type of the variable/property/parameter (to avoid considering what's inside the brackets as a number if it's a string). Remember to declare your variables in the variables editor so that you can use them in expressions.
- This means expressions like
- Allow to use the new variable syntax for groups
- You can write
MyObjectGroup.SomeVariable
in the expressions as long as all the objects of the groups have this variable declared in the objects variable editor.
- You can write
⚙️ Extensions, 🎨 assets and 🕹 examples
- [Community] [Movement animator] Fix the animation changes with GDevelop 5.2.172+ and update examples accordingly
- [Downhill bike] Fix game reset button to avoid to reload the game more than once
🐛 Bug fixes
- Fix a bug where mouse events where triggered on mobile, introducing unwanted interactions like vibrations.
- Fix adding multiple assets after navigating into a pack folder, correctly taking the assets into account.
- Fix Ctrl+Z closing project on Azerty keyboards
- Fix particle emitter rotation speed not being taken into account
- Fix completions in expressions not being case insensitive and limited for objects/variables/properties/parameters
- Fix shape painter drawing stars crashing games
- Fix usage of string properties and parameters wrongly interpreted as a number using the new simplified syntax
Developer changelog
- Deactivate PixiJS accessibility plugin in the Editor and Runtime.
- This isn't used and adds unnecessary elements in the Dom, which can cause crashes of the editor when Pixi tries to manipulate them.
5.2.175
👥 Introducing project collaboration for Cloud projects
Cloud projects can now be shared with other accounts, to easily collaborate on a game.
All users with a Startup subscription can share their projects with one or more collaborators having a Startup subscription too. 1 Guest (having no subscription, or an individual Silver or Gold subscription) can also be added on each project.
After your share a project, it will simply appear on the projects list of all collaborators you added. They will be able to open it and modify it.
Important
⚠️ Real time collaboration for projects is not ready yet. A warning will appear if you are trying to save a project that someone else modified, to avoid losing changes. In a team, ensure you don't work on the same time on a same project to avoid losing changes.
Even without this, this feature is useful to contribute on the same project without relying on manual, error prone solutions.
You can read more information about this new collaboration feature, as well as planned improvements on the documentation page.
🐇 Making life way easier for all: a new simplified syntax for using variables (and properties and parameters in extensions)
We added a new, simplified way to use variables in expressions. In addition to this, any variable being renamed in a variables editor will automatically update the rest of the project to use the new name of the variable (this is done automatically so you don't have to care about it).
- You can now simply write the name of the scene or global variable in an expression to use it:
1 + MyVariable
(instead of1 + Variable(MyVariable)
). - Objects can also have their variables accessed like this:
MyObject.MyVariable
(instead ofMyObject.Variable(MyVariable)
. This does not work for object groups yet. - This also works for properties inside functions of behaviors or custom objects. For example, you can write
Speed
instead ofObject.Behavior::PropertySpeed()
. - This syntax will also handle all types of variables without the need to write ToString. For example, you can now write
"Score: " + CoinsEarned
instead of"Score: " + ToString(Variable(CoinsEarned))
.
Important
This syntax will only work (and autocompletions will be shown) if you add the variable in the variables editor of the scene, the project or in the variables of the object. It's a good practice to always declare your variables here and give them a default value - do it to benefit from this new simplified syntax, which will make your formulas and expressions much more readable.
When you rename a variable in an editor, it will now rename the variables everywhere in the events of the project. This makes it much easier to change the name of a variable if you find a better one. Note that this works for "root" variables, but not for variables inside structures or arrays.
⚙️ Steamworks support
A new built-in extension adds support for Steamworks (thanks @arthuro555!). When you publish your game for Steam, this extension allows you to work with the Steam APIs:
- All Steamworks features require the steam client being opened. Steamworks features only work on PC builds and previews of the game.
- Steamworks features require a Steam App ID. For testing purposes, the Valve provided App ID 480 can be used, but most Steamworks features will be limited (e.g. you cannot create your own achievements)
🌟 New on the Asset Store: premium game templates
Premium game templates are being introduced in the Asset Store:
- They are fully-fledged games, with menu, options, character selection, leaderboard, credits, etc... They can be published on all platforms: desktop, web and mobile.
- They are easy to modify and adapt for your need.
- They have been built with quality in mind, by a GDevelop expert, using features and extensions reviewed by the GDevelop team.
- You can publish any number of games with this template, for personal or professional usage.
Note that community made paid game templates will also be introduced in the short term future on the asset store.
🎓 Classrooms team view
- Administrators with an education plan can now have a view of their team and its groups (classrooms)
- They can move students in different teams, for organisation purpose.
- The admin can also open the project of their students, in read-only, to check their progress and help them.
💝 Improvements
- The variables editor has been reworked so that it's more performant and comfortable to use:
- The editor is now way faster to open when lots of variables are present. It's also way faster when editing and when lots of variables are present.
- Variable names that have forbidden characters are automatically fixed, not breaking your workflow.
- Allow editing text variables in a separate window (more comfortable and faster)
- Add missing text parameter types for event-based extensions
- Replace "effect parameter" with "effect property" in the UI and documentation.
- Inline property fields for effect name and property.
- Add an expression, a condition and an action for objects center on Z axis
- Upgrade games 2D rendering engine (PixiJS) to version 7.3.0. This opens the path to multiple performance improvements (faster WebGL rendering, and then WebGPU rendering) as well as optimised resources loading in the future.
- Allow sprite animations to play backward with a negative speed scale.
- Improve documentation in the wiki of expressions by showing parameter in a human readable way.
- The editor now remembers collapsed state of object behaviors configuration panels.
- Improvement for mobile and small screens: the navigation bar of the homepage is now displayed at the bottom.
- Display a message if a subscription is valid but will expire in the future.
- The Debugger is now more resilient to errors (thanks @arthuro555!)
- Deprecate "Always" condition, which was considered misleading
- Improve autocomplete options height on mobile
⚙️ Extensions
Reviewed
- [Curved movement] Add a condition to check the number of loop
- [Platformer character animator] Handle 3D models
- [Button states and effects] New behaviors added that change the way a button looks based on the state of the button
- [Object Picking Tools] Add actions and conditions to pick objects with the highest or lowest value of an object variable
- [Values of multiple objects] Updated to include min/max z-order (Thanks @Uiles!)
- [Object Spawner] Updated to include a property for capacity
- [Marching squares] Fix the mode that only draws the visible part for portrait screens
- [3D object shake] Unify the behaviors for 3D models and 3D boxes and allow the shake to start automatically
- [Mouse pointer lock] Add handling of touches
- [Recolorizer] Avoid to process transparent pixels
- [ArrayTools] Update extension to v2 (thanks @arthuro555)
- Use scene variable parameters instead of string parameters (allows using nested arrays)
- Add actions/conditions for Global and Object variables
- Multiple UX/UI improvements (icon, categories, wordings)
- [InAppPurchase] Upgrade in-app-purchase version to use cordova-plugin-purchase:13.8.0, which uses Google Play Billing v5
- [FaceForward] Update to allow an angle offset (for images that don't face right)
Community
- New extension: SecretCode - An extension to trigger a condition when a sequence of keys have been pressed. Thanks @george-gca !
- New Extension: Maze Generator - Thanks @scottfergusson and @Luxon5 !
- [WithThreeJs] Upgrade to 1.0.0 - Thanks @PANDAKO-GitHub
- Supports built-in 3D
- Add support for lighting
- Support PixiJS v7.3.0
- [3D particle emitter] Handle layers and fix the size of particles that were 3 times too small
- [Top-down movement animator] Change the animation according to the top-down movement direction
- Misc. fixes to the submission pipeline - Thanks @st-Wook!
- Allow creating a new extension submission from a GitHub issue even when some quality checks fail
- New extension: GamePix SDK (thanks @caiiiycuk!)
🎨 Assets
Free
- 5 3D packs from Quaternius (Ships, Classical Buildings, Sushi Restaurant, Space Station, Animated Robots)
- 3D City Kit (Roads) by Kenney
- Tileable Ground Textures By Cethiel (Thanks @Entr0py404! )
- Objects have been simplified in the pack "Rolling Ball Pack".
Premium packs
- Add 11 premium volumes of audio and sound effects by Khron Studio: Elemental Spells Vol 1, Fantasy Magic Weapons Vol 1, Fight Fury Vol 1, Futuristic Weapons Vol 1, Interdimensional Interface Vol 1, Monster Library Vol 1, 2, 3, 4, Puzzle Games Vol 1, The Sound Of Survival Vol 1.
- Add a bundle: Bestiary Bundle by Khron Studio! Including Monsters Volumes 1, 2, 3, 4
- Add Dungeon Castle Mighty Bundle, Dungeon Castle Cave and Castle Dungeon Stone & Plank by Sortodedd
- Add City Tileset by ELV
- Add Puppet Farmer by João Baltieri
🕹 Examples
- [Button effects] Show new behaviors to make juicy buttons with animated responses to user input
- [Object Spawner] Learn how to use the Object Spawner extension to spawn waves of enemies in stages in this new example.
- [InAppPurchase] Update InAppPurchase example with latest extension version
- ...
5.2.174
Warning
This version was initially a patch for the version v5.2.173 but it also contains a few bugs. Please use the version v5.2.175.
5.2.173
Warning
This version contains a few bugs regarding tilemaps, videos and particle emitters. Please use the version v5.2.174.
5.2.172
💝 Improvements
- Reduce "layout shifts" in Events Sheet when adding events or modifying them
- Browsing the events sheet and editing events should be a bit more comfortable now.
🐛 Bug fixes
- Fix link in disabled events still processed internally
- This could generate infinite loop crashs even when a link is included as
a sub event of a disabled event.
- This could generate infinite loop crashs even when a link is included as
- Fix missing effect tab on some objects
- Fix a performance regression on scenes with a lot of sprites
- Fix scene editor window rectangle color
⚙️ Developer tools
- Add
clearCanvas
flag toRuntimeScene
for multi-scene rendering support (Thanks @malec-palec!)- This prop is passed to
PIXI.Renderer.render
asclear
option to support multi-scene rendering.
- This prop is passed to
5.2.171
Warning
This version contains known performance issues and bugs that are now fixed. Please prefer using v5.2.172 and above.
Important
Games being created with this version of GDevelop won't work on previous versions of GDevelop (as a new, cleaner version of some actions/conditions have been introduced internally). Make sure to backup your game so that you can go back to a previous version of GDevelop while this version is being tested.
Support for Unicode (emojis, accented characters, Arab, Cyrillic, Chinese, Korean, Japanese...) in object names, as well as in any name in the editor
Objects, groups, behaviors, extensions, and functions now have support for Unicode names.
- This allows to use emojis, accented characters, CJK languages and any word from any language to name anything in GDevelop. This should be very useful for Non-English speaking users.
- As this is still experimental, this must be activated in the preferences of GDevelop. This will be activated by default once this is proven to work without bugs.
Autosave for Cloud projects
A new autosave feature is automatically enabled for Cloud projects:
- Cloud projects are now autosaved on each game preview. Should the editor crash, it will help recover your project.
- The saved project is stored on the device for performance reasons.
Warning
If you're using GDevelop online on a public computer, this feature saves a copy of your project in the browser storage. To make sure no one can access it, make sure to log out the editor when you leave the computer.
Simplified list of actions/conditions (no more duplicated actions/conditions that are in common between objects)
- Actions, conditions and expressions related to opacity, size (width/height), scale, animations and other common features are now visible only once when you search for them in actions/conditions (instead of being shown once for every type of object supporting them). This reduces the risk of confusion for new or existing users, notably when multiple versions of the same action were returned by the search and was making it difficult to choose the proper one.
- Internally, this works thanks to default, built-in behaviors that are supported by the objects.
Important
Games being created with this version of GDevelop won't work on previous versions of GDevelop (as a new, cleaner version of actions/conditions have been introduced internally). Make sure to backup your game so that you can go back to a previous version of GDevelop while this version is being tested.
💝 Improvements
- Improvements for 3D:
- When resizing a 3D object with Shift pressed (or when resizing multiple objects), the depth of the object is also scaled proportionally This will make the authoring of 3D levels easier.
- Add a default 3D light on any new layer (this won't affect performance for 2D games).
- UX improvements:
- At project opening, reopen the tabs that were opened when it was closed.
- The editor will now automatically fix object, group, function, behavior, or property names when an incorrect one is entered - instead of displaying an error message and losing the name that was entered. Same for scenes, external events, external layouts and extension names in the project manager.
This is easier to understand and avoids breaking the creative workflow (for example: if you enter a space, it will be automatically removed without asking you to rewrite the entire name). - Improve asset store with asset pack search, filters and navigation.
- Simplify the context menus in the Events Sheet. Also display shortcuts for the most used commands, both in the menus and in the toolbar.
- Simplify confirmation of deletion of leaderboards by asking to type "delete" instead of the full leaderboard name.
- Filter autocompleted tags according to community visibility setting. This avoids to show tags that gives no results.
- Allow JavaScript extensions to use resource parameters.
- Deprecate actions that uses an expression for resources (instead, a field will be shown to select a resource, like in an object).
- Move some Tween actions in "Size" and "Visibility" groups.
- Improved autocompletions of behavior functions on object in expressions: the behavior icon is now shown.
- Add a shortcut (Cmd/Ctrl+G) to move selected events in a new group
⚙️ Extensions, 🎨 assets and 🕹 examples
Extensions
Reviewed
- [Sticker] Allow to destroy stuck objects with their parent
- [Screen wrap] Fix physics version that had copy/paste errors from non-physics version (thanks @MelonDev!)
- [Flash] Removed deprecated lifecycle function
- [Object Slicer] Fix bug in parameter name for condition to delete object
- [Flash object] Add ability to flash color tint, object effect, and opacity (fade)
- Added FlashColor, FlashEffect, and FlashOpacity behaviors
- When "Flash object" action is used during a pre-existing flash, simply extend the duration of the flashing. Previously, it always performed "hide object", potentially causing the object to be hidden too much. (Thanks @Entr0py404!)
- [Rectangle Movement] Update: Add option to select the position on the border (inside, center, outside)
Community
- [Advanced HTTP] A new extension for creating advanced HTTP requests, with FormData/JSON requests, Custom Headers, CORS Bypass, advanced response handling, and more! (thanks @arthuro555!)
- [3D particle emitter] This add a new object that display a large number of particles to create visual effects in 3D.
- New extension: SelectionTools
- This provides functionality to draw different types of selections in order to select object instances present on the scene.
- This allows to do a rectangular selection, a polygonal selection, or a lasso selection.
- This extension is perfect to let the player selects units or items on the screen.
- [3D tween] Smoothly animate scale and rotation of 3d models
Assets
- Add a new premium 3D pack: KayKit Adventurers Character by Kay Lousberg
- Add a new premium 3D pack: KayKit Dungeon Remastered by Kay Lousberg
- Add Mega Bundle By Reactocore
- Add a panel sprite object in the free Western RPG pack.
- Add multiple 9-patch objects for the terrain to the Pixel Adventure Pack.
Examples
- [3D Lane Runner] Add leaderboards
- [3D Car Coin Hunt] Add leaderboards
- [Object Slicer] Fix a bug in parameter name in the condition to delete an object
- [Load Testing] Add ability to drag red hero and to change scenes repeatedly.
- [Flash Object] Learn how to use the "Flash object" extension
🐛 Bug fixes
- Fix project file name when creating a new project.
- Fix effects on objects composing custom objects that weren't displayed at runtime.
- Fix 3D filters making 2D games crash.
- Fix actions disappearing when wrongly translated with the same name in a non english language translation
- Fix "Share your extension" not redirecting to the proper page on the documentation (Thanks @st-Wook!)
- Fix unused resources clean up to keep resources used in effects.
- Fix missing tags for installed extensions in the behavior list.
- Fix layers deletion when instances are in several external layouts.
- Fix the "Select instances on scene" menu action in external layouts.
- Fix the information icon color in the new behavior dialog.
- Show warning and revert to automatic collision mask if deleting the last frame of a sprite object.
- No longer automatically fill the behavior parameter from "activate behavior" actions when there are multiple choices
🛠 Internal changes (for developers)
- Create a devcontainer to do some basic development task via GitHub codespaces.