Releases: 4ian/GDevelop
5.5.225
💝 Improvements
- 3D improvements:
- Add a Tint color property for the 3D cube object.
- Add support for crossfading animations for 3D models
This new option allows to smoothly transition between animations. The fading duration can be customized with an action.
- Allow anchored objects to be moved from their initial position.
If an anchored object is moved using events (or another behavior), it will stay on its new position.
This allows to anchor objects on the left, right, top or bottom of the screen (or inside the bounds of a custom object, for example in a dialog) and still allow them to move. - A Pixel Art version is now available for each 2D starting points (Platformer, Top-Down & Physics) when creating a new game project.
- The Play section was reworked to have games played directly inside the app. Try it notably on the GDevelop app on iOS and Android.
- Add an action to join a lobby in one-click, to speed up joining a game for a player.
- Update AdMob extension to handle Consent & Tracking Authorization on iOS.
- Admob will now initialize 2 seconds after the app loads, giving more control to when it starts. This is particularly helpful for App Store validations, with Tracking Authorization message.
- New conditions are available to know AdMob initialization status: "AdMob initializing" and "AdMob Initialized".
- New action to stop the auto-initialization: "Prevent AdMob auto initialization" and new action to trigger the initialization: "Initialize AdMob manually". Typically, you'd prevent the initialization at the beginning of the scene, and trigger it manually when a user interacts with a button or something, so you can control when they'll see the consent messages.
- Upgrade internal version of PixiJS (WebGL 2D rendering) to 7.4.2.
- UI improvements:
- Improve the display of actions/conditions/expressions when searched with a clearer visual separator for their folders
- Adapt tabs width according to screen width, to keep them visible on screen as much as possible.
- Prevent installing assets or behaviors from extensions that are incompatible with GDevelop's version.
- Improve the
abs
expression documentation. - Deprecate internal actions and conditions to set and compare property values in extension events: the unified variable action and condition should be used instead.
- Allow custom objects to declare multi-line text properties.
- Do not show the save reminder if the editor was just idle for too long.
- Add a clearer warning before the deletion of a game and a project, to prevent accidental deletion of games.
- Improve in-app tutorials, with help messages inside the preview.
- Add a warning on array children with inconsistent type
- Update "Create objects from an external layout" action to show all parameters in the events sheet (thanks @AnseloOriginal!)
🐛 Bug fixes
- Fix
onCreated
functions not being called on behaviors added at hot-reload, causing a crash in the preview - Fix expression documentation not displaying parameters
- Fix object parameter not shown when editing an action/condition when the object doesn't exist
- Fix access to objects in variable expressions of "for each child variable" loops
- Fix toggle "update game page" sometimes not being visible when publishing.
- This could happen when the last build was too old, and the interface considered the game as new, so published it automatically to the game page.
- Fix crash when opening 3D Racing game example external layouts
- Use default values when updating Cube 3D three object in editor
- Fix a project opened from a file being always detected as a new game in the dashboard
- Fix spatial sound action not applied if sound is not playing yet
- Prevent accidentally saving a project in the root folder of the editor
- Fix border radius added by browser on text input
- Add missing keys in keyboard condition/action (Left and Right bracket and the Menu keys)
- Fix asset images stuck with a loader in the store (Disabling lazy loading on authorized images)
- [3D character] Fix the "is moving" condition when moving sideways
⚙️ Extensions
- [CrazyGames SDK extension] Update to V3 (thanks @planktonfun)
- [Reviewed] [Unit bar] Fix value going out of bounds
- [Reviewed] [Link tools] Add actions to change the path finding configuration
- [PlaygamaBridge] Update to v1.20.1:
- Fix usage of
LeaderboardEntryPropertyValue
- Interstital/Rewarded Ads fixes
- Player photos fixes
- Support for Poki
- Fix usage of
🕹 Examples
- Update the CrazyGames example with the SDK v3
- Update 3D examples with animation crossfade
- Update AdMob example with automatic initialization controls screen
🕹 Premium Game Templates
- [Impostor Alert] Update the mask system
- [Tomb of the Mouse] New Template - a Tomb of the Mask-like and fast-paced maze runner (Thanks to @VegeTato)
- [Idle Clicker game] Update of the template
🛠 Internal changes (for developers)
- Ensure cursor position is correct when a mouse down event is detected (thanks @dmyamster!)
5.5.224
💝 Improvements
- Refine free conditions/actions search to give priority to results with the search word in the displayed name
- Ensure behaviors are compatible with the object before pasting them
- Change documentation pages of some actions and conditions to point to more specific pages
- Allow to swap assets of any object type
🐛 Bug fixes
- [Physics3D] Fix remaining hit-boxes of deleted character
- Also fix 3D character behavior deactivation
- Fix games sometimes disappearing from the dashboard
- This was caused by games wrongly being considered as not saved during the export, and they were hidden from the dashboard afterwards
- [Text input] Various fixes:
- Icon for the condition "Value was submitted"
- Ghost area where a text input was when switching scenes
- "disabled" and "read-only" properties
⚙️ Extensions
- [Reviewed] [Pointer lock] Fix expression visibility
- [Community] [New] WortalSDK (Thanks to @banghawe!)
- [Community] [3D tween] Fix the color tween
🎨 Assets
- [New prefab] Player Avatar: display the avatar of a player in a multiplayer game.
5.5.223
💝 Improvements
- Bring consistency on arrow direction for UI items that can be opened/closed (thanks @Bouh !)
- Use new compact UI in the Preferences dialog
- Add preferences menu item back in the File menu
- Improve homepage bottom bar icons on mobile
🐛 Bug fixes
- Fix crash when adding/modifying functions in extensions
⚙️ Extensions
- New extension: 3D Sky and Sun (thanks @TheAvIGOLD)
- Add a new extension PlaygamaBridge (Thanks to @lysoff)
Playgama Bridge is a unified SDK for publishing HTML5 games on various platform such as: Playgama, Yandex Games, Facebook, Crazy Games, Game Distribution, ClickJogos, DigitalWIll, Success-Corp, Telegram, Playdeck, Y8, Lagged.
🕹 Examples
- Allow to use multi-touch joystick everywhere in more examples: 3D shark frenzy, 3D shooting gallery, conviction of gun dude, Platformer, Wave defense shooter, 360° platformer, Multiplayer platformer arrow fight, Multiplayer platformer pickup.
5.5.222
💝 Improvements
👥 Editor improvements
- Merge project manager & app burger menu buttons
- The goal of this change is to simplify the top left corner of the app, by merging the App burger menu and the Project manager button into one. Having 2 buttons was causing confusion in the flow of using the app, by mistakenly pressing the wrong button.
- The app menu buttons that are useful are now displayed at the top of the project manager drawer, on the relevant platforms: Web, Windows & mobile, because other platforms have a built-in OS menu.
- When choosing an object/group in an action/condition:
- Folders that are set in the objects list can now be used here to navigate, making the browsing experience consistent
- When searching for an action/condition, exact matches are displayed first, making the search more accurate
- When a preview is updated on the web-app, the correct window is automatically focused
- Improve subscription perks display when subscribing and all the subscription-related design
- Objects installed from the asset store are now installed in the selected folder, instead of the root of the scene
- Allow to toggle between drop-down list and expression for mouse button and key parameters
- Add Pixi and Three type definitions for JS events
- Extension editor improvements:
- Add autocompletion for keyboard key properties in the behavior editor
- Allow behavior properties to be an animation name, displayed with a selector
⚙️ Engine improvements
- Text input object improvements
- New attributes are available: padding (vertical and horizontal), max length and text alignment.
- A new condition "Input is submitted" was added to check if the user validated the value in the input.
- Allow to use parameters and properties in the variable action and condition
- Allow 3D physics characters to push each other
- Make the 2D and 3D physics engine much more performant when you have a lot of static objects, by reducing the CPU work on these
🐛 Bug fixes
- 3D physics character behavior
- Fix a 1-frame delay on the "is falling" condition
- Fix the "is falling" condition from being true when the character is going up
- Fix the behavior to keep rotation around X and Y intact
- Fix parameters list not updating when the function configuration was changed
- Fix a crash when opening a project missing a custom object that was loaded in the previously opened project
- Fix issue where cubes were not showing when they have all their faces shown with no textures
- Fix variable list usability
- When renaming a variable in the instance panel, the caret position is kept and the user can erase the whole field without the name being replaced by "Unnamed" instantly
- When opening the variables editor from a variable field, the currently selected variable is selected in the list (even if child of a variable)
- Fix correctly exporting desktop icon when project is saved in the cloud
- Fix opening windows in foreground on windows everywhere in app
- Fix: Disable panel sprite tilling by default, as it decreases the performance of the object without any advantage
⚙️ Extensions
Reviewed extensions
- [Button FSM] Change of state before the events instead of after
- [Pointer lock] Allow multi-touch devices to use the pointer lock
- [Multi-touch joystick] Allow to use the joystick from anywhere on the screen
- [Two choices dialog box] Simplify the events
🕹 Examples
- Add 2 new 'starting points' templates in 3D:
- First person, to build first person games
- 3D platformer, with a camera that follows the player
- Allow to use multi-touch joystick everywhere in several examples
- 3D car coin hunt
- 3D Platformer
- 3D first person
- Top-down RPG
🕹 Premium Game Templates
New game template by Kknoob:
🛠 Internal changes (for developers)
- Allow to make custom objects private to an extension
- Remove EventsFunctionsExtension inheritance to EventsFunctionsContainer
- Simplify shop navigation state to avoid useless renderings
- Add experimental support for importing JS source files in extensions
- See more about using JavaScript on this page.
5.5.221
💝 Improvements
- Tooltips have been added on some 3D physics properties, to ease the understanding of the behavior.
- Game feedbacks are now paginated, improving responsiveness of the app.
- When multiple projects are linked to a game, only 3 are now visible in the quick menu to avoid overcrowding the menu, the others are accessible in the game dashboard itself.
- Ensured the Home tab is still shown when a project is opened on small screens (+ improve scroll animation to active tab)
🐛 Bug fixes
- Type checking in JavaScipt code block events, which was enabled in the previous version, has been removed until all autocompletions are properly handled. While type checking was enabled to make it easier and less error-prone to write JavaScript code, it was making the edition of JavaScript events too cumbersome (a lot of errors were shown in scripts, with a lot of false positive, diminishing the usefulness of the checking).
It will be enabled again later when proper type definitions are available.
Note that this does not impact at all how the games or extensions work. - Fix the collision conditions for 3D physics characters (migrated to Jolt 0.31.0)
- Fix asset preview being too zoomed in.
- Remove logs for audio events when manipulating a sound/music on an unused channel, which was causing the previews to crash due to the log being spammed in the console.
⚙️ Extensions
- [Community] [Navigation mesh pathfinding] Fix the rotation speed and declare property units (thanks @PANDAKO-GitHub).
- [Reviewed] Add 13 helper behaviors for 3D characters
🎨 Assets
-
Add a ready-to-use "Two Choices Dialog Box" object
-
Add Survival Building, Watercraft and Trains packs by Kenney
-
Add Zombie Apocalypse, Toon Shooter and Cyberpunk Platform packs from Quaternius
🕹 Examples
- Add or adapt examples to use the 3D Physics Engine (3D platformer, 3D first person, 3D shooting gallery).
🕹 Premium Game Templates
- Add a new game template: Platform Fighter, a game like Super Smash Bros by VegeTato
5.5.220
🎇 The GDevelop team and contributors are wishing everyone a warm, joyful festive season and a bright start to the new year!
🎁 Introducing 3D Physics (based on Jolt Physics engine)
GDevelop now provides a powerful 3D Physics engine, allowing to create any kind of 3D games.
The 3D physics engine is powered by Jolt Physics a modern, performant, battle-tested, fully featured 3D physics engine used in AAA games, like Horizon: Forbidden West. The new 3D physics engine is perfect for making FPS, TPS, 3D platformers and in the future 3D racing games or any 3D game.
You can try this example of a 3D platformer game that is powered by the new 3D physics engine here and edit it in the app.
You can also try the simple 3D FPS example.
- Adding physics to 3D objects: similar to the 2D physics engine, you can add the 3D Physics behavior to your object. For example, add the behavior to platforms with the type set to "Static".
- You can choose the collider shape: box, sphere, cylinder or capsule and modify physics properties of the objects having this behavior - much like the 2D physics engine.
- For 3D characters: a dedicated "3D Physics Character" behavior is available.
- To actually move, pair it with one or more additional behaviors to get controls working out of the box: "3D Shooter keyboard mapper", "3D Platformer keyboard mapper", etc... Behaviors with support for touch screens, gamepads and keyboard/mouse have all been made and tested.
Take a look at the new example to give it a try! New examples and behaviors will be progressively added and existing 3D examples will be adapted. The wiki will also be updated in the next weeks with the different behaviors and capabilities provided.
🧑🏫 New premium, chapter-by-chapter course to learn and master GDevelop
We're releasing a premium course designed to let you learn and master everything you need to know about GDevelop and gamedev. It is available through the Learn tab in GDevelop for accounts having a premium membership. If you don't have a subscription to GDevelop, the 3 first chapters are offered for free and new chapters can also be unlocked individually with credits.
The course is designed to let you learn by doing and exploring the app. It will have a total of 15 chapters with:
- Dozens of action-oriented, specific goals to achieve in each chapter, with a full explanation for each, an illustration and an answer to reveal.
- Exclusive templates created for you to follow each lesson. Open the template, watch the video and start learning each goal one by one.
- An overall tracking of your progress.
The course can be followed on your computer or on the go using GDevelop mobile app.
New chapters will be added soon!
🎯 Reworked "Create" tab on the homepage
The "Build" and "Manage" tabs have been merged into a single, simpler screen. From the Create tab, you can now access the projects you're working on (local projects or cloud projects), as well as manage the games you have published.
- If you have multiple local or cloud projects linked to a same game, the game will appear once in the list, and the projects will be grouped into it.
- When you create a new game, it will appear directly in this list. If the game is never saved (for example, you open a template without saving it first), it will be removed once closed and won't clutter this list.
- Games can be sorted by date of last change or by their popularity (number of sessions).
- Earnings (revenue sharing from ads on gd.games) are displayed at the top as well as your account total credits.
💝 Improvements
- Change scene editor title depending if instance or object edited on mobile
- Adapt the condition column size in the Events Sheet
- Also change the default extension editor layout.
- Merge the function properties and parameters tabs in the extension editor
- Automatically rename function parameters in events when a parameter is renamed.
- Add error display for some obvious semantic/type errors in JavaScript code blocks.
- A better looking invalid/missing texture placeholder, with the GDevelop "G" logo, is now displayed when you create an object without a texture/image set to it.
🐛 Bug fixes
- Fix a regression on custom object life-cycle parameters not being locked
- Fix regression in extensions loading
- Fix asset store display speed and reduce the burst of requests
- Fix: Apply z offset to instance even if no z in instance data
- Fix installing extensions with dependencies from assets
- Fix title missing in curriculum lessons
- Fix installing assets with resource kinds like bitmap texts
⚙️ Extensions
Reviewed extensions
- [3D particle] Fix a deprecation warning
- [MQTT] Update MQTT.js to 5.10.3
New reviewed extensions to be used by Prefabs in the Asset store:
- [New] Two Choices Dialog Box
- [New] Star Rating Bar
- [New] Score Counter
- [New] Screen Orientation Checker
Community extensions
- [New] Ollama AI by @Daveee19
- [Collision 3D] Fix the distance expressions
🎨 Assets
New premium asset packs:
- By BarelyApes:
New free asset packs:
- By GDevelop:
- Two Choices Dialog Box
- Star Rating Bar
- Screen Orientation Checker
- Score counters
🕹 Examples
- Fix Physics starting point game not considering the projectile as a bullet
- Improve starting point games
- The mobile controls are now inside of folders in the platformer and top down starts.
- The starter platformer game no longer has an event for jumping, and now uses the multitouch button behavior to trigger the jump.
🛠 Internal changes (for developers)
- Fix installing extensions with dependencies from assets
- Add description and screenshots for Rich PWA install (desktop)
- Expose
initializeRenderers
andinitializeCanvas
to allow initializing the game rendering manually (Thanks @lifanchuk!)
5.4.219
💝 Improvements
-
Add a new option for layers, to keep a layer centered when the game size changes, or keep it top-left fixed (as before).
- This is useful for layers which you want to stay on the center of the screen, which works well with the new option to extend width/height of the project without cropping the game area.
- If you already move the camera using events, this won't have any impact.
- This also works well when using the Anchor behavior to position objects on the screen.
-
New, reworked "Create new game" dialog. It is now the entry point for creating a new game, allowing to:
- create an empty project from scratch
- (new!) use a "starting point" for your projects, to bootstrap your platformer, top-down or physics game. They are extremely simple template, with minimal gameplay, perfect for new users discovering GDevelop.
- start from a project customized by an AI,
- or as before, one of the many free or premium templates provided with GDevelop.
-
Add an option in the game properties to extend width or height and never crop the game area.
As well as a few more improvements:
- Projects linked to a game are now shown and can be opened directly from the game dashboard.
- If a cloud project is not shown, it's usually enough to open it from the Build tab and save it so that it appears in the game dashboard.
- Add "Create new folder" menu item inside "Move to folder" menu.
- Improve LAN preview network to detect local ip properly for Network previews
🐛 Bug fixes
- Fix for the anchor behavior when used on layers where the camera was moved. Anchored objects will now work whatever their layer and camera position.
- Fix potential crashes in events function edition
- Also hide object groups tabs in functions (unless there are groups already) - it's not recommended to use them anymore.
- Fix custom objects inner area expansion on Z axis
- Fix variables from being renamed with a property
- Fix position conflicts between Physics and other movement behaviors
- Fix: Build tilemap renderer from an empty tilemap to be able to create tilemaps in-game
- Fix the parameter name field to avoid changing the name when no change was done
- Fix height when switching to mobile design
- Fix function configuration editor layout when shown as a side panel
- Fix publish flow to allow creating gd.games links if game is not owned
- Disable the variable editor button wrongly shown for object parameters
- Properly show error box to user when an error occurred when creating student accounts
- Fix a crash when Physics behavior is used on object smaller than 0.1 pixels
⚙️ Extensions
- [Reviewed] [Third person camera] Fix the rotation angle offset
- [Reviewed] [Flash and transition] Fix the opacity (thanks @VegeTato)
- [Community] [Flip Gravity] Fix the reset gravity action (thanks @VegeTato)
🕹 Examples
- Improve various examples descriptions
- Add "starting point" examples
🛠 Internal changes (for developers)
- Allow to provide a canvas to be used for the game rendering instead of creating a new one (thanks @danvervlad!)
- Improve typing of EventsFunctionContext
- Remove dead code related to "alwaysLoaded" (thanks @Bouh!)
- Upload files in batch for web-app previews
5.4.218
📈 Improved game dashboard
The game dashboards have been redesigned to provide a comprehensive view of all key aspects of your game in one convenient location, including analytics, player feedback, leaderboards, multiplayer configurations, and exports.
📣 New "Boost" (one-click marketing): get thousands of players in a few days
From your game dashboard, you can access new "Boost" packages available for purchase to enhance your game's visibility. These packages include up to 5000 guaranteed players who will try out your game in a few days or even hours. It's a perfect opportunity to attract more attention and gather insights on player retention.
💝 Improvements
- Various UI improvements:
- Improved login & signup dialogs design
- Community & Play tabs in the homepage have been merged.
- Improve landscape mode and responsiveness of the UI on small screens
- Prevent opening variables dialog for objects & groups if there is no object
- Improve object collision masks & points dialog button label
- Show object effect drop-down list for parameters in extension editor
- Add a button at the top of the object list to add new objects.
- Allow uploading thumbnails for games directly from the Game Dashboard.
- Add sort field (creation date, weekly sessions, all time sessions) for the list of games in the Manage tab
- Add a button to ask any question in the Learn page
- Google Drive support on the web-app is now deprecated. Please use Cloud projects instead, which are better integrated and fully support all GDevelop features.
- Add automated game screenshots when remixing a game.
🐛 Bug fixes
- Fix a memory leak on object instances in the Physics Engine.
- Fix Dialogue Tree returning sometimes a string instead of a number in expressions reading variables
- Fix login dialog stuck in loading after trying to use a provider
- Fix destroying an object even if flagged as "DoNothing" in the multiplayer behavior
- Fix dialogue tree crashing the game when syntax errors are present
- Fix leaderboards not properly replaced in projects using them in custom objects
- Fix game thumbnail taking too much space on mobile in Quick Customization dialog
- Fix centering of "UI layers" after a screen orientation change
- This happened often on mobile (iOS notably) and sometimes when resizing the window on desktop too.
- Fix 3D model sizes in the editor when aspect ratio is free
- Fix issues when reworking a "quick customization" project (don't duplicate the project multiple times if already saved).
- Fix adding an object from context menu when the Objects panel is closed
- Fix instances paste from a scene to another
- Custom object editor fixes:
- Fix instance variable editor opening in CustomObject editor
- Fix tilemap painting in CustomObject editor
- Fix a crash at runtime when an animatable custom object has no animation
- Fix object thumbnails in custom objects event functions
- Fix sprite scaling factor when a custom size is set
⚙️ Extensions
- [Community] [Hedgehog platformer] A new platformer engine for Sonic-like games (thanks @Kennoir!)
- [Rectangular flood fill] Include the features from "Create multiple copies of objects" extension
- [Rectangular flood fill] Pick the created objects
- [Community] [TweenZOrder] The extension was removed - a variable tween can be used instead.
- [3D sprite] Fix a crash when sprites have no frame.
- Updated to the new syntax for properties and parameters in reviewed extensions.
🎨 Assets
- Add a new premium audio pack: Horror SFX Halloween sounds pack (by GDevelop)
- Add 70+ Tilemaps in ELV's packs
- Add a new premium audio pack: Magic RPG Sounds SFX (by GDevelop)
🕹 Examples
- Add screen orientation checker and improve title screen centering for 3D Car Coin Hunt
- Use custom objects in some examples:
- [Lane runner, Car coin hunt, Tappy plane, Run dino run] Use a custom object for the leaderboard dialog
- [Platformer] Use a custom object for the game over dialog
- [Top-down RPG] Use a custom object for the character dialog
- [3D city builder] Use a custom object for the tool bar
- [360° platformer] A Sonic-like demo that uses a tile-map
🕹 Premium Game Templates
- New premium game template: Idle Clicker (by @VegeTato)
🛠 Internal changes (for developers)
- Add mention to Three.js in README (Thanks @MTSyntho!)
- Add "dispose" method to RuntimeGame and various classes (Thanks @danvervlad!)
- This allows to fully release resources, textures and anything else that is linked to a gdjs.RuntimeGame. This can be useful if multiple games must be loaded/unloaded/changed in a single web page.
- Only add watermark styles in case showWatermark is true (Thanks @dmyamster!)
- This avoids using a DOM API if not needed.
- Add gdcore-tools hook (Thanks @arthuro555!)
5.4.217
💝 Improvements
- Allow custom objects to use leaderboard properties in order to build custom objects linked to leaderboards
- Optimize custom object layouting in the editor
- Display Audio Resource parameter field for function actions
- Display context menu using an "action sheet" like drawer on mobile/touchscreens
- Add larger buttons in quick customization and danger buttons in some interfaces
🐛 Bug fixes
- Fix to forbid behavior properties from being used as values in expressions
- Fix autocompletion by hiding parameters and properties of type "behavior"
- Fix default parameter of action with operator functions not displaying in the editor
- Fix text input visibility when its custom object is hidden
- Fix a crash when an instance with a wrong object name is in a custom object
- Fix wrong custom objects duplication when updating an extension
- Fix resource used in behavior properties not being exported
- Fix changing the shape painter colors in the properties panel/object editor
- Fix cloud projects incorrectly counted when saving a project
🎨 Assets
Premium packs
By @Bouh:
- [New audio pack] Basic RPG Sounds and SFX
By GDevelop:
- [New audio pack] SFX Platformer Mario Game Like
Free assets
Multiple tilemaps objects were added:
- 10 by Kenney
- 1 from VEXED
- 1 from Robert Norenberg (0x72)
🕹 Examples
- Fix spine example missing sound resource
🛠 Internal changes (for developers)
- Ensure GDevelop.js build is done using release mode if not specified
- Fix resource used in behavior properties not being exported
5.4.216
📝 🏎️ Objects now directly editable from the Properties panel
When an object is selected (or when "Edit object" is chosen in the Properties panel after choosing an instance), this panel will now show the object properties, behaviors, variables and effects. Everything can be directly edited from there.
This allows for fast edition of most elements of an object: appearance, properties, but also behaviors, variables, effects... Most work and iterations on your game should be faster, from adapting the appearance of a text to tweaking behaviors and updating the preview to check the result in realtime. For example, behaviors can be directly added, removed and configured:
💡 If you keep the preview of the game opened, on the desktop app, you can then click on the "Update" button in the toolbar to apply changes to the live game, without restarting the preview.
✈️ Custom objects ("prefabs") can now be created (Experimental)
Custom objects are containers, composed of one or more other objects and having custom logic (made with events, like in a traditional scene) inside them.
In this new version of GDevelop, you can now select a few instances on the scene and extract them into a custom object that will contain them and their associated object:
"Custom objects" are also called "Prefabs" or "Templates" in some game engines.
They almost act like if they are a scene, but available as an object. Like custom behaviors, they can have actions, conditions and expressions, so they can be manipulated by the scene events.
They allow to speed-up development and make games more modular by having an object that can be reused in different scenes.
For example, you can build:
- A custom object that is a dialog: a background, some text, some buttons. This allows to do all the logic related to this dialog inside the custom object events, without cluttering the scene.
- A character or some other game objects that is composed of multiple parts. For example,
Read the documentation to learn more about their usage.
You can see here the two buttons extracted into a custom object. Notice the checkered background indicating that this is not a scene but a custom object that can be reused in multiple scenes:
💝 Improvements
- UI Improvements across the app
- Allow closing & deleting an opened cloud project
- Add icons to help understand to scroll during in app tutorial
- See also all the improvements in version 5.4.215
🐛 Bug fixes
- A lot of fixes for custom object creation:
- Fix closing of custom object tabs when they are deleted from their extension
- Fix autocompletion of layers and points for custom object children
- Fix object lists not always up-to-date in the extension events editor after adding an object in the custom object editor
- Fix custom object editor not closed when the extension is renamed
- Fix mouse and key parameters for functions
- Fix custom object loading when opening a project
- Fix extraction to custom object sometimes using an already used name
- Fix wait action in custom objects
- Fix objects owned by Multiplayer host not being properly migrated when host changes
- Avoid intermittent game crash, due to an audio issue, when resuming the game (when focused back again)
- Fix memory corruption/crashes when events in extensions had errors
- Prevent players from claiming a leaderboard score as an anonymous user.
- See also all the bug fixes in version 5.4.215
⚙️ Extensions
- [Auto typing] Fix the word wrapping
🎨 Assets
- Add a new premium pack: Casual UI and Interface SFX (by @Bouh)
- Add a new premium pack: 2D Pixel Quest -The Dungeon by BarelyApes
🛠 Internal changes (for developers)
- Fix silent exceptions when resource loading finished after an instance was reset/removed
- Add clang-tidy and builds with assertions/memory sanitizers for libGD.js
- Fix missing or wrong arguments in GDevelop.js tests + uninitialized variables
- These were "silently succeeding" but would create issues when Emscipten is run with SAFE_HEAP=1.