github 4ian/GDevelop v5.6.270
5.6.270

3 hours ago

💝 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.

    Syntax highlighting in Events Sheet

  • 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-command CLI 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.

🐛 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)

    Image

    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

Don't miss a new GDevelop release

NewReleases is sending notifications on new releases.