- The warning about a custom object with no child in it ("it renders
nothing") fired on ParticleEmitter3D, Light3D or Text3D objects, which
are drawn by the JavaScript code of their extension (with Three.js) and
legitimately have no child. Skip it when the code replaced the renderer
of the object, or added something to draw (a mesh, a sprite, a
graphics...) in the stock renderer's container.
- The game-side wall-clock watchdog did not exclude the time the page
spent hidden (frozen by the browser), unlike the guards of the stepping
loop: a test run in a background tab or a covered window was reported as
a plain "timeout" instead of being given up on as paused by the editor.
Exclude it, and tell about that time in the timeout message.
- Reject a non-string object name with a clear error instead of asking
the scene for "[object Object]" (which registered a phantom object list
and silently found nothing), the mistake `lookTowardWithMouseDelta`
invites when the target is passed first.
- This pathfinding works in 2D and 3D is more flexible than the "grid-based" existing pathfinding.
- 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.
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](https://wiki.gdevelop.io/gdevelop5/interface/gameplay-tests/)
- Replace the third-party `[email protected]` with the official Esoteric Software runtime for PixiJS v7 (`@esotericsoftware/[email protected]`).
- 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`).
- 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 done (this can be checked using a condition), the object can then be created.
Be careful: if an object assets are not loaded, it will be broken when displayed on screen.
* Before, this was set as 0 even though displaying as empty in the
variablesList.
* Projects created before 5.6.267 will keep the same behavior (0 as default value for string variables) with an option to move to the new behavior (empty as default value) in the project properties dialog.
* Projects created from 5.6.267 will use the new default behavior (empty as default value)
https://github.com/user-attachments/assets/0d885c70-b68a-431f-8dcb-08e4e193b8a1