1721 Commits

Author SHA1 Message Date
Florian Rival 44ba8a04ce Add experimental gameplay tests (#8926)
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/)
2026-08-08 21:22:07 +02:00
Clément Pasteau dbde5a9347 Instances can now be hidden at start from the properties panel (#8884)
+ AI tool can now set instance variables
2026-07-30 16:43:23 +02:00
D8H 35599ad366 Fix resource loading project properties reverting to default values (#8905) 2026-07-29 12:52:34 +02:00
Florian Rival b15ee15b5b Match objects with unicode names in EventScript source view filters (#8868)
GDevelop identifiers can contain any unicode character except the ones
reserved by the expressions grammar (GrammarTerminals.h), but the
read_events_source object-name filter used an ASCII [A-Za-z0-9_] word
boundary: objects named like "Héros" could match or miss incorrectly.

Don't show in changelog
2026-07-22 10:28:53 +02:00
D8H f4a91c66fc Fix to avoid incompatible behaviors when adding objects to a group (#8846) 2026-07-15 18:27:57 +02:00
Florian Rival 2d9d8c3a41 Fix scene variables "persistentUuid" field in JSON being regenerated or deleted on save (#8837)
Only show in developer changelog
2026-07-15 14:59:16 +02:00
Clément Pasteau 97eccf98c3 Reduce possible crashes in the event sheet when undoing/redoing (#8820) 2026-07-09 08:53:29 +02:00
Florian Rival 8348172593 Improve AI tool error messages and input validation (#8813)
Don't show in changelog
2026-07-07 11:15:57 +02:00
Florian Rival e91e071805 Fix "mixed values" wrongly shown for some objects when added to an object group (#8807)
Fix #8805
2026-07-06 15:12:36 +02:00
D8H 04119d25a0 Add tests on undeclared object variables (#8800) 2026-07-03 16:49:35 +02:00
D8H f9af900c24 Add tests on parser about variables declaration (#8783)
Cover combinations of
- expression, variable parameter, legacy variable parameter
- variables from a depth of 1 to 3
- declared or undeclared variable at each level

Some cases were already covered and don't appear in the diff.

Don't show in changelog
2026-06-29 17:58:20 +02:00
D8H e8f39990f8 Fix object variables color in events (#8781) 2026-06-29 11:06:20 +02:00
D8H b2222005d9 Allow to edit behavior properties of object groups in the side panel (#8758) 2026-06-25 16:34:53 +02:00
D8H 733c560ec9 Fix behavior overriding for Physics2, Physics3D, Multiplayer and SaveState (#8766)
- Don't show in changelog
2026-06-25 15:51:30 +02:00
D8H 4db3fd3eb9 Fix empty number properties of behavior initial value (#8763)
Don't show in changelog
2026-06-25 11:08:19 +02:00
D8H 4d5ea2fb89 Allow to change behavior property values on object instances from the side panel (#8737) 2026-06-25 10:46:48 +02:00
Clément Pasteau 2aa0fdea7b Fix checking resource types on every parameter when launching preview (#8757)
* This was causing slow preview times
2026-06-23 16:44:05 +02:00
Clément Pasteau 3358d5e2ba Fix showing default parameter values as errored in the event sheet (#8753)
Do not show in changelog
2026-06-23 12:00:34 +02:00
Clément Pasteau b5c44d9694 Fix possible crashes when serializing large projects (#8749) 2026-06-22 17:17:01 +02:00
Clément Pasteau 7860c22ecd Fix initial value displayed for optional Boolean parameters with default value (#8748) 2026-06-22 11:18:37 +02:00
D8H 429099981d Fix project loading when 2 extensions uses each other custom objects (#8711) 2026-06-15 19:38:44 +02:00
D8H 33dd671c61 Fix an error when building a project that uses object variables (#8697) 2026-06-11 09:32:11 +02:00
D8H 258a541b48 Fix build of games with parameter or property resources in custom extensions (#8695) 2026-06-11 08:54:46 +02:00
D8H e4f85fb580 Fix a crash when opening an extension tab where the function tree is corrupted (#8694) 2026-06-10 12:39:59 +02:00
D8H 5b84c0c73c Fix a memory corruption when updating an extension without function folders (#8690)
Fix #8678
2026-06-09 15:04:58 +02:00
D8H c6d40449c8 Automatically add a return action in custom expressions (#8682)
* And ensure the type is right when the expression type is changed
2026-06-07 22:01:32 +02:00
Clément Pasteau 663edf81ec Improve a lot the time to launch previews (and other operations like modifying groups/renaming objects) when using very long expressions (#8662) 2026-06-01 14:40:33 +02:00
D8H 46a6a66552 Hide deprecated extensions in new projects (#8634) 2026-05-28 18:07:48 +02:00
Florian Rival 080bc15f56 Add missing override specifiers to event classes (#8633)
Don't show in changelog
2026-05-21 16:31:37 +02:00
Florian Rival 12867be225 Fix potential crashes (#8625)
And add GDCore tests with ASan/UBSan as a new CI job to catch any regression in the future
2026-05-21 12:46:30 +02:00
D8H e3f3a1ffac Fix editor crashes after modifying custom object extensions (#8626) 2026-05-20 18:33:18 +02:00
opaldi 749a78650b Persist the preference "Start all previews from scene X" in the project file (#8622) 2026-05-20 16:49:23 +02:00
D8H 6dc9ed5d2c Fix minus sign color for negative numbers (#8621)
Don't show in changelog
2026-05-20 16:35:51 +02:00
ViktorVovk f39d8bb080 Add experimental support for "canonical" serialization of events (#8552)
- 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` (already read
by the IDE on project open):

  ```yaml
  # gdevelop-settings.yaml
  preferences:
    canonicalEventSerialization: true
  ```

Only show in developer changelog
Co-authored-by: Viktor Vovk <vvovk@playtika.com>
2026-05-20 16:10:12 +02:00
D8H 830587f25b Fix object parameter color in expression (#8611)
Don't show in changelog
2026-05-18 19:42:10 +02:00
D8H cea1410fb3 Add syntax highlighting for expressions in events (#8538)
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.
2026-05-18 18:10:00 +02:00
D8H cacd28eed7 Add a "layer" property type for custom behaviors (#8596) 2026-05-14 12:50:25 +02:00
D8H e2de846279 Allow to load and unload objects from other scenes (#8592)
- Also fix manually loaded objects not being unload with their scene
2026-05-14 10:56:19 +02:00
Clément Pasteau 0eb6014a93 Fix some visual glitches in the Events Sheet when opening and scrolling (#8571) 2026-05-11 10:52:30 +02:00
Clément Pasteau 3c80598d09 Revert "Fix some visual glitches in the Events Sheet (#8551)" (#8570)
This reverts commit 232443328d.
2026-05-06 16:48:11 +02:00
Clément Pasteau 232443328d Fix some visual glitches in the Events Sheet (#8551) 2026-05-05 18:29:21 +02:00
D8H 98e5184958 Fix missing error on expressions with unknown objects in the event sheet (#8566) 2026-05-05 16:06:31 +02:00
Florian Rival 5dd2b8ffd8 Add hints for some extensions, displayed in the documentation (#8564) 2026-05-04 15:11:56 +02:00
D8H 8e50ddefe4 Allow to configure object resources to be loaded independently from the scene (#8514)
- 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.
2026-05-04 10:45:51 +02:00
Florian Rival e8fe23d9dc Fix rendering of events true/false or yes/no as text when parameter not filled (#8561) 2026-05-03 23:35:12 +02:00
Clément Pasteau 920d0b86c1 Fix default variable string value being empty instead of 0 (#8473)
* 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
2026-04-27 09:37:45 +02:00
Florian Rival 7211232586 Fix crashes when using invalid object names in object folders 2026-04-14 12:09:20 +02:00
D8H 5f260352ce Fix scene properties not usable via the variable action and condition (#8504) 2026-04-13 09:12:32 +02:00
LuniMoon 66ed69cc36 Make clear in Storage actions if a number or text is being written (#8498) 2026-04-09 13:43:56 +02:00
D8H 92e449558b Allow extensions to set different icons for behaviors and objects (#8472) 2026-04-02 20:14:19 +02:00