5.6.279
4ian
released this
This release contains mainly bugfixes for "gameplay tests". See the release notes of version 5.6.278 to learn about them.
5.6.278
4ian
released this
πΊοΈ New experimental "navmesh-based" pathfinding behavior for 2D and 3D
This pathfinding works in 2D and 3D is more flexible than the "grid-based" existing pathfinding. Use the "Pathfinding character" behaviors on the object that must move and add the "Floor/obstacle for pathfinding" behavior to all objects where characters must be able to walk or consider as obstacles (or for 2D: only on obstacles). Read more about it in this documentation page.
-
For 3D models, you can optionally choose, like for 3D physics, to follow the exact mesh of the 3D model for pathfinding - allowing characters and objects to move on or around the 3D model naturally.
-
It handles "crowds" of characters, which can all go to a destination avoiding each others:
crowd_example.mp4
πββοΈ [Advanced] Add experimental gameplay tests
A gameplay test plays a game: it presses keys, moves the mouse, touches the screen, then checks that what should happen actually happens. For example, if the coin is collected, the score goes up, the enemy hurts the player... Tests run in a preview of the game, usually much faster than real time. Read more about them on this page.
These tests are helpful for:
- Catching regressions: after changing events or objects, re-run your tests to make sure the basics are still working.
- Reproducing difficult bugs: use the test to set up your game to reproduce then fix a bug.
- Checking performance: measure how long frames take with many objects on screen and catch slowdowns early.
βΉοΈ Gameplay tests are an advanced concept and are created using code to be as close as possible to the engine running the game.
- If you're a beginner, it's a good idea to start asking the GDevelop AI to build a simple gameplay test for your game or learn from examples in the docs.
- Whether your game is simple or complex, it's recommended to begin by making a very simple gameplay test to get started. You can then progressively create gameplay tests whenever you fix a bug or want to ensure something works in the game. Game studios or advanced users can also run the gameplay tests directly from the command-line.
π Improvements
- Add preview of color parameters in the event sheets (thanks @Bouh!)
πΉ Examples
- Add basic gameplay tests to starters
πΉ Premium Game Templates
- New game template: Wordheme, a Wordle-like game by @Bouh
5.6.277
4ian
released this
π Improvements
- Add support for binary Spine (.skel) skeleton imports, alongside JSON (thanks @ViktorVovk!)
- On a scene, instances can now be hidden at start using a toggle in the properties panel
π Bug fixes
- Fix Steam Deck controller not working when exporter to Steam
- Fix shortcuts/command palette commands not applying properly with popped out editors
- Fix missing translations for the 3D character behavior
- Fix pathfinding so that it now works with tile maps as obstacles
- Fix crash in the Sprite object editor when dragging sprites
- Fix to prevent removing behaviors from a variant
- Fix sentence parameters of a tile map action
- Fix default tile map assets not showing up
- Fix context menus for custom objects & drag/scroll conflicting on mobile
- Fix resource loading project properties reverting to default values
βοΈ Extensions
- [Reviewed] [Orbiting object] Add an emitter behavior
π¨ Assets
- New asset packs:
- 2D Pixel Quest Vol 8: The Rogue by BarelyApes
- 2D Pixel Quest Vol 7: The Wizard by BarelyApes
- 2D Pixel Quest Vol.5: The Ork's Pi by BarelyApes
- Add GDevelop branded textures to the 3D cube objects available on the asset store.
πΉ Examples
- Add an example with a basic tile map editor
- Starters "Game Juice" Update, and new assets:
- Updated most starters in the engine with reactive buttons, sound effects, and particles to match the existing starters with those in them.
- Also replaced the 2D art assets used in those starters with newer assets.
πΉ Premium Game Templates
- Add a new game template: Arrow Lines by @Bouh
- Updated game: Word Search by @Bouh
- Add two new modes: Classic and Visible. Classic hides the words, while Visible displays the list of words, with optional two additional secret words.
π Internal changes (for developers)
- Make VSCode use GDJS TypeScript version
5.6.276
4ian
released this
π Bug fixes
- Improved panel sprite performance
- Fix a crash of the side panel
5.6.275
4ian
released this
π Improvements
- Improve object list, project manager and other lists by having top header sticky, including sub-folders. This is helpful for large games when having a lot of objects in different folders for example.
- Improve sprite editor performance, especially when having a lot of animations.
- UI improvements:
- Focus the closest tab when a tab is closed, instead of the home tab.
- Collapsed sections in the side panel are now saved and persisted between usages.
- Tilemap improvements:
- Optimize tile map trimming. It avoids to scan all the tiles when scanning just a few rows and column is often enough (only 2 tiles in the best case scenario).
- Allow to edit external tile maps at runtime
- Add support for the latest Android version 16 (API 36) for Google Play exports.
- Also mention the Android file format ".AAB" in the Android export dialog (thanks @Bouh)
π Bug fixes
- Fix double menu opening when right clicking in event sheet or animation thumbnails
- Fix importation of extensions with dependency between them
- Fix not encoding urls properly, leading to resources not loaded on mobile apps
- This was causing some resources not to be loaded properly when the game was exported to Android, following the update to Android 16 (API 36)
- Fix variable parameter "add or edit" auto-completions: "Add or edit" options for variables, properties and parameter were wrongly always displayed.
- Fix 3D boxes not reacting to light in the 2D editor
- Fix context menus for custom objects not opening properly on mobile
- Fix scroll of animations list on mobile/touch screens
βοΈ Extensions
- [Experimental] [3D text] Upgrade to troika-three-text 0.52.4
- [Reviewed] [Shadow clones] Add an emitter behavior
π¨ Assets
- Add a new pack: 2D Pixel Quest Vol.4 - The Paladin by BarelyApes
- Add a new pack: Pixel Quest Vol.2 - The Necromancers Order by BarelyApes
- 437 new high-definition 3D models with PBR materials, made available for free under the CC0 license thanks to Poly Haven! β€οΈ
πΉ Examples
- New shadow clones example for the extension of the same name.
π Internal changes (for developers)
- Run CLI commands in the live editor when the project is already open (Thanks @malec-palec!)
CLI commands with--run-commandused to always start a separate headless process, even when the target project was already open in the editor. They now goes to the live window so results (for example imported extensions) appear in memory right away, without reopening the project. - Add support for experimental script-based agents. This, and the previous point, are stepping stones toward allowing to run scripts and commands through the command line to control the editor and edit the game projects.
- Add test projects for the documentation
- Enhance CLI export behavior with diagnostic error handling (thanks @ViktorVovk!):
- Added flags
--block-on-diagnostic-errorsand--no-block-on-diagnostic-errorsto control export behavior based on project diagnostic errors. - Also modified recent project handling to exclude headless CLI commands from the recent projects list.
- Added flags
- Update all examples legacy actions/conditions to internal new names
5.6.274
4ian
released this
π Improvements
- You can now restore a recently deleted cloud project:
- Every user can recover a project deleted by mistake, within a short time.
- If you have a subscription, you can restore a project deleted up to 30 days ago.
- Allow to run GDevelop from command line by adding it in PATH at installation (thanks @malec-palec!):
- This is done automatically on Windows at installation. For portable builds or Linux/macOS, use the command palette and search "CLI" to install it.
- Save scroll position of object group and layer properties panels.
- Show better detected build errors, notably for for iOS: common errors, like having an icon with the wrong size, will be reported when a build is failing.
π Bug fixes
- Fix to avoid incompatible behaviors when adding objects to a group
- Fix "zsh dquote>" hang when launching terminal scripts on macOS (thanks @luciuses)
- Fix "mixed values" wrongly shown for some objects when added to an object group
- Fix PointAttachmentRotationWorld for Spine
- Prevent variables container to crash in some rare cases
- Reduce possible crashes in the event sheet when doing undo/redo
- Add ICU message validation to prevent translation compilation failures
βοΈ Extensions
- [Experimental] [Project to camera] Move a 2D object to overlap a 3D position (thanks @PANDAKO-GitHub!)
- Migrate 2 extensions to the new variable parameter:
- [Reviewed] [Simple inventories] Handle local variables
- [Experimental] [JSON Resource Loading] Handle local variables
- [Experimental] [3D physics airplane] Simulate an airplane using the 3D physics
πΉ Premium Game Templates
- Add a new no-code and responsive pc/mobile game template: Word Search by Bouh
πΉ Examples
- Update save state example with "asynchronous" actions
π Internal changes (for developers)
- Fix scene variables "persistentUuid" field in JSON being regenerated or deleted on save
- Improve Semaphore CI tests reliability
- Add headless CLI command to import extensions into a project and save it (thanks @malec-palec!)
- Rework build of Three.js as a classic global-script bundle in SharedLibs/ThreeAddons
5.6.273
4ian
released this
π Improvements
-
New "Save State" features:
- New actions to list, delete, check, and duplicate existing saves.
- Also added ability to wait for actions to be finished before running subsequent actions/sub-events.
-
The properties panel also now allows to edit behavior properties of the selected object group. An object group will show the behaviors that are in common between all objects of the group.
-
Properties of most behaviors can now be customized per instance in the side panel. Select one or more instances, open the "Behaviors" section and then a behavior to edit its properties.
- Properties that have a different value on the instance compared to the object are shown in white. Other properties keep their default value set on the object.
- This is for example useful to change a speed, jump height, etc... of a specific instance.
-
Add configurable custom resource properties via gdevelop-settings.yaml (Thanks @luciuses and @ViktorVovk!)
- Adds support for configurable custom resource properties. Projects can now declare extra metadata fields for their resources via a new
resourceCustomPropertiessection ingdevelop-settings.yaml. These fields render in the Resource editor and persist into the resource's metadata JSON.
- Adds support for configurable custom resource properties. Projects can now declare extra metadata fields for their resources via a new
-
Allow adding new properties from the variable parameter drop-down list in extensions events editor.
π Bug fixes
- Better management of undo/redo and unsaved notification dot for ForEach, While, Comment, JavaScript and Group Events
- Prevent tab closing when renaming Scene, Extensions, External events and External Layouts
- Fix object variables color in events
- Collapse Physics world properties by default in the scene properties
- Fix game not taking full screen size on mobile devices
- iOS fixes:
- Fix Screen orientation parameter on iOS devices
- Fix iOS not resuming sounds when app is put to background and focused again
Note: this doesn't fix locking/unlocking the screen which is very random and not reliable yet.
- Fix inputs right click on Windows (Comments, Groups, JS Blocks...)
- Fix Panel Sprites opacity being wrongly applied twice
- Fix slow preview generation time
- Fix possible crashes when serializing large projects
- Fix initial value displayed in Events Sheet for optional boolean parameters (true/false or yes/no) having a default value
- Fix Tabs hover & drop not working all the time
- Fix group variables not refreshing when selecting another group
- Fix being able to select fonts & atlas files on iOS
π¨ Assets
- π¦ New audio pack: Mobile UI Sound Pack Vol. 1 with 34 sounds by Ph7x
πΉ Examples
- New Babyfoot 3D free example by AnkhM - CrΓ©er Un jeu VidΓ©o.
- Updated textures in starter game + multiple small tweaks.
πΉ Premium Game Templates
- Add a new game template: Survival Crafting System by Daniel Griffith
- Comprehensive survival inventory and crafting system
- Intuitive 2-hand mechanics with infinite crafting combinations
- Day-style loot detection and dynamic inventory management
- Built with modding in mind
- Tetris-style inventory UI
- Complete crafting and building system
- Update on Impostor Alert : Fixed a bug where the username menu was not opening, due to latest gdevelop update to string variables.
5.6.272
4ian
released this
π Improvements
- Properties panel improvements:
- It now displays and allow editing scene properties and scene variables, allowing faster edition.
- Object group properties are also now displayed in this side panel when a group is selected.
- Update Spine extension to the official Esoteric Software runtime for PixiJS v7 (
@esotericsoftware/spine-pixi-v7@4.2.116) (thanks @malec-palec!)- The new runtime only fully supports skeletons exported from Spine 4.2.
- β οΈ Older exports (e.g. 4.0) may partially render but mesh deformations won't work due to a Spine JSON schema change (
deformβattachments). - β οΈ Ensure you have "Premultiply alpha" unchecked in Spine export.
- Add tile scale property to 3D Box object:
- It defaults to 1 (same rendering as a Tiled Sprite in 2D). Changing the tile scale is useful for 3D games which can set it to a lower value like 0.2 to avoid textures being "too big" (and rendering with a bad quality) when the camera is near 3D Box instances.
- Also add ready-to-use choices for new 3D box objects from the asset store (public domain textures)
- Automatically add a "return" action in new custom expressions.
- UI improvements:
- Improve display of assets grid and allow to search assets when creating a new object.
- Improve Instance list panel design (column ordering, hover/selection colors)
π Bug fixes
- Fix the type of variables added from the drop-down menu
- Fix project loading when 2 extensions uses each other custom objects
- Fix allow to to add behavior parameters without needing to declare all capabilities in the extension editor
- Fix invalid object parameter when copy-pasting a function from a custom object or behavior to the extension
- Fix expression type selector choices
- Fix custom object with circular dependencies no longer shown as disabled in the new object dialog
- Fix property title layout in the extension editor on mobile
- Fix an error when building a project that uses object variables
- Fix build of games with parameter or property resources in custom extensions
- Fix a crash when opening an extension tab where the function tree is corrupted
- Fix a memory corruption when updating an extension without function folders
- Fix variables not being renamed in variant child-objects or instances
- Fix moving group members not updating the dashboard for Education
- Fix useless reloading of resources when cancelling an object edition
- Add missing help page links for 3D box, 3D model, text input and light obstacle
βοΈ Extensions
- [Experimental] [Advanced 3D Features] Add actions to rotate toward a 3D object (thanks @PANDAKO-GitHub!)
- [Reviewed][InAppPurchase] Add ability to restore purchases for Apple requirements:
- New action "Restore Purchases"
- New condition "Product is owned"
πΉ Premium Game Templates
- 3D Survival Game Update by Crowbar_Coder
5.6.271
4ian
released this
π Improvements
- Add in the documentation new index pages for objects and behaviors
- Make search accent-insensitive for better multilingual support
π Bug fixes
- Avoid reloading unchanged images after editing a Sprite or another object
- Fix JavaScript code blocks creating layout shifts ("jumps") when scrolling Events Sheet
- Fix corrupted display of instance when dragging an object back to the objects list in custom object editor
5.6.270
4ian
released this
π Improvements
-
Add "syntax highlighting" for expressions in Events Sheet: complex expressions and formula will now be shown using multiple colors, like the rest of events. This allows to identify objects, numbers, strings in a long formula.
-
UI improvements:
- Add "Select All" in Events Sheet and ability to deselect an event when doing a multi-selection (Thanks @ViktorVovk!)
- Hide deprecated extensions in new projects
- Make the function extractor dialog more compact
- Allow to install extensions from the action or condition search
- Automatically choose a function name in the function extraction dialog
- Add help page links to some effects reference help pages
- Reduce dialog width for extension details, project properties and layer properties
- Persist the preference "Start all previews from scene X" in the project file (Thanks @opaldi!)
- Add a button in the extension editor to select behaviors with the dialog
- Allow to create variables from autocompletion in more cases. Also, in the extension editor:
- Focus and select new parameter names
- Allow to add a new parameter from the variable autocompletion
- Allow to add behaviors from the bottom of the instruction list
-
Extensions improvements:
- Allow custom objects to move layer cameras
- Add a "layer" property type for custom behaviors
-
Experimental resource loading improvements: allow to load and unload objects from other scenes.
-
Improve a lot the time to launch previews (and other operations like modifying groups/renaming objects) when using very long expressions
-
New icons for premium subscribers on the forum and Discord:
- A new role is now shown for Silver subscribers on Discord.
- A subscriber icon (Silver, Gold, Pro, Education) is now visible on your forum account, if you use the same email between your GDevelop and the forum.
-
Add argument for CLI command execution for CI pipelines (Thanks @malec-palec!)
- Add
--run-commandCLI flag that executes any Command Palette command after loading a project.
In CLI mode all blocking dialogs (autosave, changelog, confirmations) are auto-resolved, the window is hidden, and the process exits with a meaningful exit code. - This enables CI pipelines to run exports (e.g.
EXPORT_HTML5_EXTERNAL) using only the editor distribution - no installation or display required.
- Add
π Bug fixes
- Fix huge loading time after modifying an object inside a custom object
- Fix missing collisions after changing tile map grid dimensions
- Fix a missing comma in shape scale actions
- Fix extracted functions being displayed as unknown actions
- Fix purchase with credits option wrongly shown if subscription doesn't allow it
- Fix decimal values not updating number fields
- Fix broken links to reference pages in the documentation
- Fix gravity not being taken into account for Physics3D
- Fix editor crashes after modifying custom object extensions
- Fix regression when dragging events on iOS touch devices
- Fix copied events to keep the same order when pasted
- Fix a regression on the displayed position of custom objects
- Fix and show the button to add parameters to "action with operator" functions as disabled
- Fix some visual glitches in the Events Sheet when opening and scrolling
- Remove a useless message wrongly displayed when updating an extension without any dependencies
- Fix manually loaded objects not being unload with their scene.
- Fix a crash when there is a trigger once in an external function used from a custom object
- Fix other various potential crashes
βοΈ Extensions
-
[Experimental] [3D foliage swaying] Sway foliage of 3D objects according to wind (thanks @baldieandbaldie-commits)
This extension adds wind swaying ability and optional GPU instancing to 3D objects (trees, grass, bushes) with frustum and distance culling. This is an advanced extension and while a lightweight example will be made later, you can for now try the full example by downloading it on the GitHub thread of the extension.
It comes with:
- Real-time foliage wind animation for 3D scenes
- Multiple sway types: Grass, Bush, Tree Trunk (dead tree), and Tree Leaves (more coming soon)
- Works with both regular meshes and GPU-instanced foliage for better performance
- Global wind controls: strength, speed, and wind direction
- Optional gust system with texture-driven gust masks
- Optional visual tuning: gradient tint, saturation/contrast, PBR tweaks
- Distance-based fading/culling for better performance
- Automatic foliage shader/material patching (including shadow materials)
- Runtime-safe live updates for wind/gust parameters
- Scene/object cleanup logic to reduce memory leaks and stale resources
-
[Reviewed] [Fire bullet] New behavior for firing bullets in 3D games.
-
[Array Tools] Prevent the same names of parameters and parameter names like global class names (thanks @ViktorVovk!)
-
[Reviewed] [Scrollable viewport] Move a camera by dragging or with the scroll wheel
π¨ Assets
- Add a new 3D pack: Cute Anime School Kids 3D by KokonutDev
- Add a new 2D pack: 380+ Road Signs US Textures by Bouh
πΉ Examples
- Updated most 3D starter to include skyboxes and lights
πΉ Premium Game Templates
- Add a new game template: Block Stack by SnowyRawrGamer
- Fix Roguelite game template: Fixed a bug were skill tree was broken.
- Add a new template: 2D Normal Map Example and Extension by @VegeTato
π Internal changes (for developers)
- Fix SimplifiedProject tests crashing under debug-assertions builds
- Add extra CI checking an export using the CLI options of GDevelop
- Done daily and after every builds on master.
- Add experimental support for "canonical" serialization of events (Thanks @ViktorVovk!)
- When activated, the JSON of the project is saved with properties always in alphabetical order. Fields in events are also never omitted.
- The preference is controlled via
gdevelop-settings.yaml.
- Add new option "keepTerminalOpen" for toolbar npm scripts (Thanks @malec-palec!)
- Export classes in ResourceLoader for better TypeScript compatibility (Thanks @ViktorVovk!)
- Improve types for TypeScript 6
- And add GDCore tests with ASan/UBSan as a new CI job to catch any regression in the future





