💝 Improvements
-
Add an option to package games as Android App Bundles, to publish them on Google Play
- Starting from August, it will be mandatory to upload Android App Bundles to Google Play - APK files won't be accepted anymore.
- You can still build an APK to quickly test on your phone or distribute to other Android app stores.
-
Improve selection in the scene editor so that multiple instances can be properly rotated and resized (Thanks @D8H!)
- When resizing or rotating multiple instances, they will keep their relative positions.
- When resizing rotated instances, their aspect ratio will be kept to avoid an unintuitive resize effect
- This makes it easier to edit chunks of levels, scale them, resize them and rotate them.
-
Allow popups in the events sheet to be validated after a change using Ctrl+Enter (or Cmd+Enter on macOS) (Thanks @Bouh!)
- Also add a preference to choose if Escape should cancel any changes made (like in a dialog) or not (like previously).
- Remember to use Ctrl+Enter or Cmd+Enter to validate your changes, or click outside the popup.
-
UI improvements:
- Make the buttons at the bottom of the list of animations always visible in the Sprite editor.
- Put the button to restore the default collision mask in a split menu
- Put the button "add a behavior to the object" at the bottom of the list of behaviors (Thanks @Bouh!)
- Hide preferences in the web-app when they are not applicable for it (Thanks @Bouh!)
- Display behavior icons in the behaviors editor
- Display extension icons in the project manager
-
Pathfinding improvements:
- Reorganize pathfinding behavior actions and conditions in 2 groups (Thanks @D8H!)
- Add a condition and expression to check the movement angle for the pathfinding behavior (Thanks @D8H!)
- Add actions/conditions/expressions to specify an offset for the virtual grid used by the Pathfinding behavior (Thanks @D8H!)
-
Improvements to the autocompletions when writing expressions:
- Display the expression editor for scene, layers and some parameter fields (Thanks @arthuro555!)
- This makes it more obvious that you can use an expression here.
- Add autocompletions for animation and points of Sprite objects (Thanks @D8H!)
- Add autocompletion for variable names in expressions (Thanks @D8H!)
- Add autocompletion in expressions for scene names, layer names and parameters with choices (Thanks @D8H!)
- Display the expression editor for scene, layers and some parameter fields (Thanks @arthuro555!)
-
Add disconnect actions to the p2p extension (Thanks @arthuro555!)
-
The list of examples is now replaced by an Example Library, with new examples added regularly and updated by contributors.
You can contribute to the examples library by submitting your new (or improved) examples on https://github.com/GDevelopApp/GDevelop-examples
-
Specify type of variables in the events sheet sentences (Thanks @Bouh!)
-
Firebase improvemements:
- Add support for running queries in Firebase (Thanks @arthuro555!)
- Add an action to add a document in Firestore without having to specify a name (Thanks @arthuro555!)
-
In the variables editor, add autocompletion for variables that are used in events but not yet defined in the list (Thanks @D8H!)
- This means that if you use a scene, global or object variable in your events, it will be suggested the next time you open the variables editor of the scene, project or of an object, when you enter the name of a new variable.
- Note that this works only for now for variables that are not arrays or structures.
-
Clarify in the list of effects that Kawase blur should be preferred over the classic Gaussian blur for performance
-
Add a warning when trying to enter a color text with an extra quote.
-
Add a preference to display the preview window always on top of other windows (Thanks @Bouh!)
-
Add a padding option for effects on layers (Thanks @Bouh!)
-
Add support for tweening object color using Hue/Saturation/Lightness (HSL) (Thanks @aphoenixholland!)
- This is useful to make some effects or have a more natural color change.
-
Update Link Tools examples to use the new link action (Thanks @D8H!)
-
Slightly improve rendering scheduling for games
🐛 Bug fixes
- Fix animation scrolling in the Sprite object editor on small screens
- Fix animation editor preview speed being too fast on monitors with high refresh rate
- Also fix scrolling/zooming in the preview
- Fix getting the length of an object array always returning 0
- Fix "NAN" shown for the cursor position when opening the scene editor (Thanks @Bouh!)
- Fix behavior not always set correctly when editing parameters using the inline popover in the events sheet
- Fix RGB colors with a component at 0 not applied to the ambient light color
- Fix action and condition to change the movement angle offset of the Top Down Movement behavior
- Fix the opacity value for BBText and Bitmap Text object, value is now clamped between 0 and 255 (Thanks @Bouh!)
- Fix platformer objects so that they can always grab a platform ledge even when multiple platforms are overlapping (Thanks @D8H!)
- Fix events sheet showing "unknown instruction" when the action/condition editor is dismissed with a backdrop click (Thanks @Bouh!)
- Fix AABB and the positioning of the bitmap text object (Thanks @Bouh!)
- Fix BitmapText height when the text is finishing with new lines (Thanks @Bouh!)
- Fix grid snapping at the object creation when the grid position is not an integer (Thanks @D8H!)
- Fix Debugger Tools extension not available in the web-app.
- Fix long description not shown for Yes/No and True/False parameter fields
🛠 Internal changes (for developers)
- Move JSON and JS variable conversions to gdjs.Variable (Thanks @arthuro555!)
- Add Flow typing to the instances editor (Thanks @D8H!)
- Add various DX improvements (Thanks @arthuro555!)
- Update the IDE to Firebase v9 (to reduce the size of the Firebase module) (Thanks @arthuro555!)
- Export extension dependencies exported when the extension is used (Thanks @arthuro555!)
- This for example allow to export the vibration extension only if it's used in events.
- Clean the examples folder (Thanks @Bouh!)
- Added Effects Container in gd::Object (Thanks @HarsimranVirk!)
- Refactor gd::Layer to use a gd::EffectsContainer (Thanks @HarsimranVirk!)
- Upgrade TypeScript to version 4.3.2 for GDJS game engine
- Add code snippets for Visual Studio Code (Thanks @arthuro555!)
- Speed up GDJS build (including at editor startup) in development
⚙ Extensions
🎉 There are now 70+ extensions available for GDevelop in the extensions library!
Some of the new extensions:
- Name to Emojis
- "Is on screen"
- Flexbox (advanced)
- Depth effect
- Rectangular movement
- Face forward camera
- URL tools
- Homing projectile
- Hash
- Cursors helper
- "repeat every x seconds"
- and tons of others...
Documentation pages are now automatically generated for all extensions on the wiki, including descriptions and authors.
It could in the future include the description of all actions, conditions, expressions and behaviors (contributions welcome to improve this!)