Commit Graph

134 Commits

Author SHA1 Message Date
Florian Rival 950ad0df4c Refactor extension validation scanning to use common events traversal methods (#8448)
Only show in developer changelog
2026-03-27 15:07:05 +01:00
D8H cc71af5433 Fix a crash when installing an asset with buttons if some behaviors are missing (#8439) 2026-03-26 13:54:08 +01:00
D8H c5259b6962 Fix embedded resource links when importing a GDO (#8419) 2026-03-20 15:44:40 +01:00
Florian Rival 2b0b8b9b91 Improve context of UseAfterFreeError (#8406) 2026-03-17 16:00:41 +01:00
D8H 9d0d86e6fb Fix missing extension dependencies in GDO files (#8372)
Also fix an exception when importing a GDO file with an extension without a valid version number
2026-03-11 17:27:59 +01:00
Florian Rival deba07f103 Add "MemoryTracked" classes and "UseAfterFreeError" (#8359)
- 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.

Only show in developer changelog
2026-03-09 14:52:56 +01:00
D8H 0d3b3c3aca Add support for folders to organize functions in the extension editor (#8357) 2026-03-09 11:57:52 +01:00
Gleb Volkov a0d4bfbe72 Improve the Diagnostic Report (#8090)
- Add a shortcut (**F7** by default) and command in the command palette to open diagnostic report at any time
- The report now scans project for missing actions/conditions/expressions from extensions and reports invalid parameters (shown with red underline in Events Sheet)
- Click on error location to navigate directly to the event
2026-02-16 14:33:46 +01:00
danvervlad f1401b33c7 Add support for marking extension functions as deprecated, with visual warnings/explanations (#8156) 2026-02-12 19:37:55 +01:00
Florian Rival 17443587b9 Add Else event (#8216)
* This is not finished yet:
  - Documentation needs to be written.
  - Menu item (and shortcut?) to quickly toggle between a standard event and a else event must be added so it's easy to switch from one to the other.
  - Design must be adapted to make it clearer that the else event is "linked" to the previous one and is not run if the previous event is run.
2026-02-07 17:15:01 +01:00
D8H 494e330787 Display properties of objects/behaviors in the extension editor in a tree (#8095)
- This allows to easily visualize, group and move properties around.
- Browsing properties is faster and clearer.
2026-01-09 18:35:33 +01:00
Florian Rival ca5bb93636 Speed up cloud project saves (#8083) 2025-12-23 16:47:49 +01:00
D8H c424ce8e80 Show object parameters in red if any behavior parameter is wrongly filled (#7997) 2025-11-20 18:25:13 +01:00
D8H 360b11060d Warn about the dependent extensions when an extension is removed (#7971) 2025-11-20 16:31:32 +01:00
D8H 3b8435cae1 Automatically install extensions dependencies (#7962) 2025-11-19 14:23:13 +01:00
Florian Rival 2bb4de9e58 Fix local variables missing in events read by the AI (#7982) 2025-11-14 15:44:18 +01:00
D8H 28cea4d94c Allow events to use resources parameters and properties (#7942) 2025-11-13 14:08:01 +01:00
D8H cd0214c2a9 Automatically fill behavior parameters when an object is set (#7968) 2025-11-13 14:05:53 +01:00
D8H 13581264ef Fix resources used in behavior configurations were not exported (#7941) 2025-11-13 14:04:59 +01:00
Florian Rival 3846a1553b Experimental in-game editor (#7974)
Co-authored-by: Davy Hélard <davy.helard@gmail.com>

Don't show in changelog
2025-11-11 18:22:37 +01:00
Florian Rival 6125ff0f90 Allow AI to change layers/effects/scene and some game properties (#7799) 2025-08-29 19:15:50 +02:00
Florian Rival 37fd99e542 Add user friendly labels to select fields in object and effect properties 2025-07-03 13:09:43 +02:00
D8H 8e4cccd562 Notice about extension breaking changes when installing assets (#7640)
- Add a pop-up to suggest to update behavior when attaching one to an object
- Keep the "community" label and the info button on installed extensions
2025-06-11 18:08:57 +02:00
D8H a6cd4b3c5d Fix missing behavior shared properties for global objects (#7647) 2025-06-09 13:37:23 +02:00
D8H ff95564b6b Add new 3D physics-based vehicle behavior (#7479)
* You can now simulate realistic 3D cars using the new Vehicle behavior powered by the 3D physics engine.
* Advanced details can be customized: from wheel setup and gear ratios to engine torque, steering, brakes, anti-roll bars, and drivetrain (front/rear).
* The default setup offers a semi-realistic, arcade-style driving feel. For smoother gameplay, explore the example projects to see how fine-tuning makes a big difference.
* Jolt physics engine was upgraded to version 0.34.0.
2025-05-14 10:52:47 +02:00
D8H 896f56e850 Allow to switch between variants of custom objects (#7403)
- Variants allows to restyle custom objects
- They can be customized with the graphical editor
- The asset store will progressively use them notably for UI elements (buttons, sliders)
2025-04-24 11:05:00 +02:00
Florian Rival 15ff9bedd9 Add "Ask AI" (#7486)
* The "Ask AI" tab allows you to access an AI that is a GDevelop expert. _Think of it as "ChatGPT" but that is trained on GDevelop and knows everything about it._ It can give you advices and guide you through GDevelop, features, extensions and has knowledge of what you use in your game (scenes, objects, behaviors).
  * Unsure how to do something? Ask the AI.
  * Want to get a better understanding of a concept you don't understand? Ask the AI.
  * Have an idea but unsure where to start? Ask the AI.
* The AI gives its answer according to the full knowledge of features, reviewed extensions and game building with GDevelop. It's perfect for beginners or when you want to quickly get an answer without having to search for a long time.
* This is experimental. As with any AI, it can make mistakes or give answers that are wrong or not the best way to do something - you can put a thumb up or thumb down on each answer if you want to report something.
  Feel free to check answers with the members of the community on the forum or on Discord. We'll actively improve the AI according to the results it gives.
* The AI was worked to be concise, efficient and fast. If you have a GDevelop membership (silver, gold, pro) you will have an allowance for free AI request every month. You can unlock more AI requests or get some with a free account with credits.
2025-03-27 15:31:16 +01:00
D8H e9c625abc6 Automatically rename and delete object instance variables (#7454) 2025-03-10 16:05:39 +01:00
D8H 97e989dee0 Ensure behaviors are compatible with the object before pasting them (#7343) 2025-02-03 13:02:41 +01:00
D8H 15a1d392a1 Fix extension usage listing for example web pages (#7339) 2025-01-24 15:19:49 +01:00
D8H d6c99b27af Allow to use parameters and properties in the variable action and condition (#7124) 2025-01-15 23:28:18 +01:00
Florian Rival e237fc4b21 Add experimental support for importing JS source files in extensions (#7278)
* See more about using [JavaScript on this page](https://wiki.gdevelop.io/gdevelop5/events/js-code/javascript-in-extensions/#experimental-new-option-javascript-files-in-your-project).

Only show in developer changelog
2025-01-06 11:02:28 +01:00
D8H 8a0045b3b0 Rename events-function parameters in events (#7215) 2024-12-13 19:57:14 +01:00
D8H 8743f70aaf Disable the variable editor button for object parameters (#7202) 2024-11-28 16:05:49 +01:00
Florian Rival 5bc80537b7 Fix leaderboards not properly replaced in projects using them in custom objects (#7131) 2024-11-06 12:46:34 +01:00
Clément Pasteau c620ed75b3 Take automatic game screenshots in Quick Customization previews (#7116) 2024-10-31 11:33:58 +01:00
D8H 00f67ca7c7 Allow custom objects to use leaderboard properties (#7081) 2024-10-22 14:43:47 +02:00
D8H 83dba6c21e Allow to open the custom object editor from objects drop-down menu (#7039) 2024-10-11 12:45:23 +02:00
D8H 6781c0fd6e Add a drop-down menu action to extract instances as custom objects (#7030) 2024-10-10 20:13:42 +02:00
D8H e9781133e1 Fix events refactoring when duplicating custom behaviors or custom objects (#7005) 2024-10-10 19:48:31 +02:00
D8H ed3acd5f0d Layout custom objects children according to their anchors in the editor (#6939) 2024-09-17 12:43:16 +02:00
D8H 011abaf808 Allow drag and drop in the extension function parameter editor (#6847) 2024-08-20 10:29:52 +02:00
Florian Rival 57371c3759 Add "Quick Customization" in the Get Started page (#6856)
* Choose a starter game and quickly replace objects and tweak their behaviors. The game is then automatically published so it can be shared: this is perfect for new users to get a taste of how a game works and make their own remix of a game before going further.
2024-08-18 18:04:53 +02:00
D8H b7a5122b07 Add a variable editor for object groups (#6781) 2024-07-25 17:21:05 +02:00
D8H 00a5c93b35 Automatically rename identifiers in event-based objects (#6769)
- Don't show in changelog
2024-07-22 15:14:03 +02:00
Florian Rival a51c223c9c Add experimental, work-in-progress visual editor for custom objects (aka "prefabs"/"templates") (#6699)
* Still to do: 
  * Properly handle effects (disable 3D effects) for layers
  * Handle hot reloading properly
  * Avoid duplicating the configuration of the custom object inside each object created from it. Instead, only store the modified values.
  * Add a "Extract as a custom object ("prefab")" when selecting instances in a scene.
  * Add a dialog to give choice between 2D or 3D object when creating one.
  * Make sure "behavior shared data" are properly handled (physics, pathfinding...)
  * Check if we need to give an expression to translate coordinates from the parent to the local custom object.
  * Ensure a deleted custom object does not break the editor

Co-authored-by: Davy Hélard <davy.helard@gmail.com>
2024-07-11 11:27:34 +02:00
D8H ab63e02862 Fill empty behavior parameters in actions/conditions when a behavior is attached to an object (#6633) 2024-06-07 17:09:58 +02:00
D8H 12275d0814 Always keep events when an object is deleted (#6615) 2024-06-03 18:04:11 +02:00
D8H a76ba988b2 Fix variable renaming to avoid to take an object name (#6597) 2024-05-28 13:05:17 +02:00
D8H 75bfa5cb45 Unify variable instructions and handle local variables (#6459)
- Global or scene variables can be used with a unique action and condition.
- Object variables can be used with a unique action and condition.
- Variables need to be declared following the same logic as the new expression syntax.
- Local variable can be declared on events
- Extensions have their own variables
- Show a diagnostic report when a preview is launched and there are missing scene variables, object variables or behaviors.
  - This is especially useful if external events are shared between several scenes.
2024-05-20 23:14:07 +02:00