Releases: 4ian/GDevelop
5.6.271
💝 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
💝 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
5.6.269
💡 New 3D Spot Light and Point Light objects
3D lights can now be used with the new "3D spot light" and "3D point light" objects! You can find them in the "New Object" dialog. Check out the documentation here.
Light objects can be demanding on the GPU, especially when they cast shadows. To allow to add many lights to a scene, the engine automatically hides the lights farthest from the camera. By default, the limits are 20 visible light objects and 4 light objects casting shadows (the closest to the camera). Read more in the documentation.
💝 Improvements
- Reworked events sheet design (thanks @LuniMoon!):
- Colors adjusted to match accessibility standards,
- Refined borders around conditions/actions
- Handles of comments/groups are colored as the event itself,
- Spacing, borders and other tweaks.
- Fix default variable string value being "0" instead of empty:
- Before, variable were set to the string "0" even though displaying as empty in the list of variables.
- Projects created before 5.6.267 will keep the same behavior (0 as default value for string variables) with an option to upgrade to the new behavior in the project properties dialog. This allows previous projects to keep backward compatibility and not break. It's recommended to activate this option and check that your game continues to work as soon as you can (keep a backup in case you want to upgrade later).
- Projects created from 5.6.267 will use the new default behavior (empty as default value).
- Improve 2D lights collision calculation for better performance.
- Add expressions to access the components of forward/up/right vectors of 3D objects
- These are advanced expressions mostly useful for extensions manipulating objects in 3D space.
- Add experimental configuration to allow object resources to be loaded independently from the scene.
- This is an advanced, experimental feature which is subject to changes. It's in most cases not useful, unless you have a large game or low end devices for which controlling memory usage is important. It's mostly useful to delay loading of large custom objects.
- Objects can be configured so that its resources are not loaded when the scene is loaded. Instead, you can use an action to manually load the resources used by it. When the loading is finished (this can be checked using a condition), the object can then be created. Read the documentation to learn more.
- Be careful: if an object assets are not loaded before being created, it will be broken when displayed on screen.
- Improve premium courses structure.
- Add editor lifecycle hooks for auto running npm scripts (rhanks @ViktorVovk!). See documentation here.
- Three hooks are implemented:
onEditorReady,onPreviewStart,onPreviewEnd. - Auto-execution of hooked scripts requires user consent.
- Three hooks are implemented:
- Improve handling of devices with both a mouse and touchscreen so GDevelop can be controlled both ways in one session
- Improve desktop app updater messages and actions
- Regularly check for updates, not only on launch
- When update is downloaded, notification to restart & install
- also display version number in notification
🐛 Bug fixes
- Fix created child objects instances in custom objects being wrongly picked twice in events
- Fix potential crash in scene editor when reloading resources with custom objects
- Fix GDO import and export never finishing loading
- Fix crashes when using invalid object names in object folders
- iOS export fixes:
- Fix screen orientation not working anymore
- Fix export not working with Admob extension
- Fix file uploads (for extensions for instance) not working on some web browsers like Firefox
- Fix unloading extensions instructions properly when closing project
- This was causing actions/conditions/expressions from extensions of previous projects to be still visible in a new project, even if not available.
- Fix particle emitter gravity length action when it was 0
- Fix structure children not being shown while searching variables
- Fix tentatively crash in popped-out window when a theme is missing a color
- Multiplayer: fix player ping never updating on non-host clients
- Fix missing error on expressions with unknown objects in the event sheet
- Fix rendering of events true/false or yes/no as text when parameter not filled
- Fix hot reloading for behaviors
- Mobile usage fixes:
- Fix renaming objects on mobile weird behaviors
- starting a rename was showing the image of the element dragged
- could not press on the input to select it
- Fix events locking up when dragging on mobile
- Fix renaming objects on mobile weird behaviors
- Fix fields in Events sheet prefilling to "=" after opening a relational operator
⚙️ Extensions
- [Experimental] [Advanced 3D Features] Fixed the "Distance between objects in 3D" expression
- Thanks @PANDAKO-GitHub
- [Experimental] [Scrollbar] Add actions to help moving a layer
- [Reviewed] [Scrollbar] Fix the thumb sometimes overflowing the bar
- [Reviewed] [Fire bullet] Add 2 fire actions for 3D
- [Reviewed] [Continuous bar] Allow to use bitmap texts
- [Review] [Score counter] Allow to use bitmap texts
- Also fix the initial value not being taken into account
- [Reviewed] [3rd person camera] Fix "rotate with object" property for the "all rotation" mode
- [Playgama] Extension update
- [Poki] Add new Poki User Account methods
- [Community] [Advanced 3D Features] Added functionality to obtain angles between 3D objects:
- Added “
↗️ Check angle to 3D objects” condition - Added “
↗️ Angle to 3D objects” expression - Updated “
↔️ Check distance between two objects in 3D” - Updated “
↔️ Distance between objects in 3D”
- Added “
- Ask submitters to declare their AI usage when sending an extension for review
🎨 Assets
🕹 Examples
- New example "Scrollbar": show how to make a scroll view
🕹 Premium Game Templates
- Add a new game template: Top Down Infinite Lands by Crowbar Coder
5.6.268
5.6.267
This version had some issues with events rendering - due to fixes to try to improve Events Sheet rendering which made things worse. Download version 5.6.268 instead!
5.6.266
🪟 Experimental option to open editors in separate windows
Right clicking on a tab now displays an option to detach a tab into a separate window (both on the desktop app and the web-app).
This enables to work on events sheet, extensions or other parts of a game without switching between tabs. It's also perfect for multi-monitor displays.
-
⚠️ This is an experimental feature: some part of the editor might not be fully ready for changes to be done in another window. In case of crash or suspicious behavior when using a tab, please report the issue on the forum or Discord and re-open the editor.
Make sure to do regular backups of your game as with any experimental feature. -
Limitation: it works for Events Sheets, Extensions, Global Search, Resources but not for scene editors which must stay in the main window at this time.
💝 Improvements
- Add "Reload Project" menu action (thanks @malec-palec!)
- Make clear in Storage actions if a number or text is being written
- Display extension details side by side with the extension list on large screens
🐛 Bug fixes
- Fix potential crash during resource reloading in scene editors
- Fix save/load support for linked object relationships
- Fix extension scene properties not usable via the variable action and condition
- Fix "Add or edit variables" button opening scene variables instead of local variables
- Fix "Add or edit variables" button always creating variables for object variables
- Fix hot-reloading of global object instances
5.6.265
💝 Improvements
- Bring forward the preview window on the web-app when "Update" is clicked
- Allow extensions to set different icons for behaviors and objects
🐛 Bug fixes
- Fix many potential crashes in the scene editor
🛠 Internal changes (for developers)
- Improve logs in case of UseAfterFreeError
- Upgrade react-dnd to v14 and simplify drag-and-drop setup
- Ensure JSON files end with a new line (Thanks @opaldi!)
5.6.264
💝 Improvements
- Operators in new actions/conditions added with the context menu now automatically defaults to "Set to" or "equals"
🐛 Bug fixes
- Fix Spine objects not properly loading in the editor anymore.
- Also fix hot reloading of Spine objects in preview and the 3D editor
- Fix a crash when deleting a function folder while one of its function was selected
- Fix tentatively crashes at scene editor resize
5.6.263
💝 Improvements
- Extend the Diagnostic Report to cover events in extensions (thanks @malec-palec!)
- The Diagnostic Report previously only scanned scene events and external events for validation errors. It now also reports issues in events inside extension functions - including top-level ("free") functions, behavior functions, and object functions - detecting missing instructions and invalid parameters.
- Store-installed extensions are excluded from the scan
- Disabled ("commented out") events and their sub-events are not reported anymore (as they don't impact the game).
🐛 Bug fixes
- Fix various issues and crashes when reloading/editing resoures in or outside the editor.
- Fix the default value displayed for the related function of action with operator
- Fix BitmapText display in a custom object after editing its atlas externally
- Fix 3D physics collision condition not being triggered with 3D characters
- Fix wrong scene editor initialization displaying an error until the editor was switched
- Fix center point value of custom objects when a custom center is set
- Fix searchbar sometimes losing typed characters
- Fix a crash when installing an asset with buttons if some behaviors are missing
- Fix distorted models when their origin points are outside
- Fix profile sometimes not loading properly after log in / sign up
- Fix AI chats not loading properly if opened too quickly
- Fix 3D Model previews not loading on desktop
- Remove flagging the game as mobile on every build
- Trigger unsaved changes when AI works, only when project actually modified
🛠 Internal changes (for developers)
- Add type definitions of the in-game editor for JS events
- Fix JS event API level target.
- Add a callback after the in-game editor stepped
- Refactor extension validation scanning to use common events traversal methods
5.6.262
💝 Improvements
- Introduce Global Search, allowing to search in all Events Sheets (including extensions) (thanks @ViktorVovk!)
- Global Search can be opened using Ctrl+Shift+F (or Cmd+Shift+F). The shortcut works from any editor, even if the Global Search is already opened, allowing to quickly launch a new search.
- Click on any search result to open the corresponding events sheet with the result(s) highlighted.
- By default, extensions from the store are excluded from results. You can change this in the filters.
- Improved Extension Editor interface:
- Add support for folders to organize functions,
- Redesign the object/behavior configuration editor to be more compact,
- Redesign the function property editor to use compact fields,
- Update the tree of functions with a new set of icons,
- Add icons on parameter type selector.
- Display better certificate errors when building for iOS
- Improved Command Palette:
- Remove unused wiki search integration
- Add Ctrl/Cmd+K as a secondary shortcut to open the command palette
- Add ability to use an expression for the 'Set skin' action for Spine (thanks @ViktorVovk!)
- Make Steamworks extension accessible from the web-app version of GDevelop
- The Education plan now supports inviting existing accounts (useful to let students use their existing accounts)
- Add a new center mode "Centered on Z only" for 3D model objects
- Add a button to open the GDevelop Extensions community list in a browser. This is a first step toward having the list serving as the main directory of extensions made by the community, which could be browsed directly from the engine.
- Improve the Build mode for the AI, with planning capabilities.
- A button to stop an ongoing conversation has been added,
- Internal improvements should help the AI better understand where objects/instances are positioned.
- Add a preference to enable the display of type errors in JavaScript events
🐛 Bug fixes
- Fix a crash when removing a behavior while the behavior overriding is displayed in the side panel
- Fix native context menu wrongly shown in the web-app
- Fix potential crashes of the Objects panel
- Fix missing instructions not being selectable in Events Sheet
- Fix function tree lost of focus when pressing up or down keys
- Fix potential crashes when resizing the 2D editor
- Fix crash when deleting a layer
- Fix tooltip text not visible on light theme
- Fix wrong error on iOS certificate upload
- Fix crash when using invalid BBCode color values in BBText
- Fix regression when importing assets on newly created local project
- Fix tentatively various crashes (when deleting an object, when switching/closing projects, etc...)
- Fix crash when pinching in an image preview on mobile
- Fix embedded resource links when importing a GDO
- Fix missing spine files when exporting GDO files
- Fix double "asset" sub-folder when importing resources from a GDO
- Fix resource sub-folders when imported GDO file on Windows
- Fix missing extension dependencies in GDO files
- Fix an exception when importing a GDO file with an extension without a valid version number
- Fix number formatting to use 16 digits instead of 17
⚙️ Extensions
- [Reviewed] [InAppPurchases] Bump in app purchase plugin
- Fixes builds on latest xcode 26
- [Reviewed] [Variable copier] Copy structures between global, scene and local variables
🎨 Assets
- Update title to remove the copyright trademark for Cute Props
🕹 Premium Game Templates
- Update Restaurant Rush by Vegetato
- Fix a bug were the player skip frames on low-end devices when moving
- Add a new game template mobile compatible: Color bounce by SnowyRawrGamer
- Add a new game template: Shell Arena Combat Unleashed by Crowbar Coder
🛠 Internal changes (for developers)
- Upgrade to React 18
- Add "MemoryTracked" classes and "UseAfterFreeError"
- This will track alive/dead instances of some C++ classes and will throw a JS error in case of usage of a already destroyed object from JavaScript. This should avoid crashing/corrupting the wasm/C++ side by calling a method on an object already destroyed. Instead the exception stays on JS side, without reaching the C++ implementation.
- Add "internal instruction name" search criterion in Events Sheet search panel (thanks @ViktorVovk!)







