github 4ian/GDevelop v5.2.175
5.2.175

latest releases: v5.4.213, v5.4.212, v5.4.211...
11 months ago

👥 Introducing project collaboration for Cloud projects

Cloud projects can now be shared with other accounts, to easily collaborate on a game.

All users with a Startup subscription can share their projects with one or more collaborators having a Startup subscription too. 1 Guest (having no subscription, or an individual Silver or Gold subscription) can also be added on each project.

After your share a project, it will simply appear on the projects list of all collaborators you added. They will be able to open it and modify it.

Important
⚠️ Real time collaboration for projects is not ready yet. A warning will appear if you are trying to save a project that someone else modified, to avoid losing changes. In a team, ensure you don't work on the same time on a same project to avoid losing changes.
Even without this, this feature is useful to contribute on the same project without relying on manual, error prone solutions.

You can read more information about this new collaboration feature, as well as planned improvements on the documentation page.

🐇 Making life way easier for all: a new simplified syntax for using variables (and properties and parameters in extensions)

We added a new, simplified way to use variables in expressions. In addition to this, any variable being renamed in a variables editor will automatically update the rest of the project to use the new name of the variable (this is done automatically so you don't have to care about it).

  • You can now simply write the name of the scene or global variable in an expression to use it: 1 + MyVariable (instead of 1 + Variable(MyVariable)).
  • Objects can also have their variables accessed like this: MyObject.MyVariable (instead of MyObject.Variable(MyVariable). This does not work for object groups yet.
  • This also works for properties inside functions of behaviors or custom objects. For example, you can write Speed instead of Object.Behavior::PropertySpeed().
  • This syntax will also handle all types of variables without the need to write ToString. For example, you can now write "Score: " + CoinsEarned instead of "Score: " + ToString(Variable(CoinsEarned)).

Important
This syntax will only work (and autocompletions will be shown) if you add the variable in the variables editor of the scene, the project or in the variables of the object. It's a good practice to always declare your variables here and give them a default value - do it to benefit from this new simplified syntax, which will make your formulas and expressions much more readable.

When you rename a variable in an editor, it will now rename the variables everywhere in the events of the project. This makes it much easier to change the name of a variable if you find a better one. Note that this works for "root" variables, but not for variables inside structures or arrays.

Using variables is now easier

⚙️ Steamworks support

A new built-in extension adds support for Steamworks (thanks @arthuro555!). When you publish your game for Steam, this extension allows you to work with the Steam APIs:

  • All Steamworks features require the steam client being opened. Steamworks features only work on PC builds and previews of the game.
  • Steamworks features require a Steam App ID. For testing purposes, the Valve provided App ID 480 can be used, but most Steamworks features will be limited (e.g. you cannot create your own achievements)

🌟 New on the Asset Store: premium game templates

Premium game templates are being introduced in the Asset Store:

  • They are fully-fledged games, with menu, options, character selection, leaderboard, credits, etc... They can be published on all platforms: desktop, web and mobile.
  • They are easy to modify and adapt for your need.
  • They have been built with quality in mind, by a GDevelop expert, using features and extensions reviewed by the GDevelop team.
  • You can publish any number of games with this template, for personal or professional usage.

Note that community made paid game templates will also be introduced in the short term future on the asset store.

Premium templates

🎓 Classrooms team view

  • Administrators with an education plan can now have a view of their team and its groups (classrooms)
    • They can move students in different teams, for organisation purpose.
    • The admin can also open the project of their students, in read-only, to check their progress and help them.

Classrooms team view

💝 Improvements

  • The variables editor has been reworked so that it's more performant and comfortable to use:
    • The editor is now way faster to open when lots of variables are present. It's also way faster when editing and when lots of variables are present.
    • Variable names that have forbidden characters are automatically fixed, not breaking your workflow.
    • Allow editing text variables in a separate window (more comfortable and faster)
  • Add missing text parameter types for event-based extensions
    • Replace "effect parameter" with "effect property" in the UI and documentation.
    • Inline property fields for effect name and property.
  • Add an expression, a condition and an action for objects center on Z axis
  • Upgrade games 2D rendering engine (PixiJS) to version 7.3.0. This opens the path to multiple performance improvements (faster WebGL rendering, and then WebGPU rendering) as well as optimised resources loading in the future.
  • Allow sprite animations to play backward with a negative speed scale.
  • Improve documentation in the wiki of expressions by showing parameter in a human readable way.
  • The editor now remembers collapsed state of object behaviors configuration panels.
  • Improvement for mobile and small screens: the navigation bar of the homepage is now displayed at the bottom.
  • Display a message if a subscription is valid but will expire in the future.
  • The Debugger is now more resilient to errors (thanks @arthuro555!)
  • Deprecate "Always" condition, which was considered misleading
  • Improve autocomplete options height on mobile

⚙️ Extensions

Reviewed

  • [Curved movement] Add a condition to check the number of loop
  • [Platformer character animator] Handle 3D models
  • [Button states and effects] New behaviors added that change the way a button looks based on the state of the button
  • [Object Picking Tools] Add actions and conditions to pick objects with the highest or lowest value of an object variable
  • [Values of multiple objects] Updated to include min/max z-order (Thanks @Uiles!)
  • [Object Spawner] Updated to include a property for capacity
  • [Marching squares] Fix the mode that only draws the visible part for portrait screens
  • [3D object shake] Unify the behaviors for 3D models and 3D boxes and allow the shake to start automatically
  • [Mouse pointer lock] Add handling of touches
  • [Recolorizer] Avoid to process transparent pixels
  • [ArrayTools] Update extension to v2 (thanks @arthuro555)
    • Use scene variable parameters instead of string parameters (allows using nested arrays)
    • Add actions/conditions for Global and Object variables
    • Multiple UX/UI improvements (icon, categories, wordings)
  • [InAppPurchase] Upgrade in-app-purchase version to use cordova-plugin-purchase:13.8.0, which uses Google Play Billing v5
  • [FaceForward] Update to allow an angle offset (for images that don't face right)

Community

  • New extension: SecretCode - An extension to trigger a condition when a sequence of keys have been pressed. Thanks @george-gca !
  • New Extension: Maze Generator - Thanks @scottfergusson and @Luxon5 !
  • [WithThreeJs] Upgrade to 1.0.0 - Thanks @PANDAKO-GitHub
    • Supports built-in 3D
    • Add support for lighting
    • Support PixiJS v7.3.0
  • [3D particle emitter] Handle layers and fix the size of particles that were 3 times too small
  • [Top-down movement animator] Change the animation according to the top-down movement direction
  • Misc. fixes to the submission pipeline - Thanks @st-Wook!
  • Allow creating a new extension submission from a GitHub issue even when some quality checks fail
  • New extension: GamePix SDK (thanks @caiiiycuk!)

🎨 Assets

Free

  • 5 3D packs from Quaternius (Ships, Classical Buildings, Sushi Restaurant, Space Station, Animated Robots)
  • 3D City Kit (Roads) by Kenney
  • Tileable Ground Textures By Cethiel (Thanks @Entr0py404! )
  • Objects have been simplified in the pack "Rolling Ball Pack".

Premium packs

  • Add 11 premium volumes of audio and sound effects by Khron Studio: Elemental Spells Vol 1, Fantasy Magic Weapons Vol 1, Fight Fury Vol 1, Futuristic Weapons Vol 1, Interdimensional Interface Vol 1, Monster Library Vol 1, 2, 3, 4, Puzzle Games Vol 1, The Sound Of Survival Vol 1.
  • Add a bundle: Bestiary Bundle by Khron Studio! Including Monsters Volumes 1, 2, 3, 4
  • Add Dungeon Castle Mighty Bundle, Dungeon Castle Cave and Castle Dungeon Stone & Plank by Sortodedd
  • Add City Tileset by ELV
  • Add Puppet Farmer by João Baltieri

🕹 Examples

  • [Button effects] Show new behaviors to make juicy buttons with animated responses to user input
  • [Object Spawner] Learn how to use the Object Spawner extension to spawn waves of enemies in stages in this new example.
  • [InAppPurchase] Update InAppPurchase example with latest extension version
  • [FaceForward] Learn how to use the FaceForward extension with a new example.
  • [3D Bomber Bunny] A bomberman-like game for up to 4 players with procedural animations and particles
  • [3D Car Coin Hunt] Replace 2D objects with 3D ones
  • [Wave defense shooter] A new example: this beginner-friendly example covers player movement, firing a bullet, enemy logic, leveling up character stats, mobile controls, and spawning enemies with a timer.

🐛 Bug fixes

  • Fix deletion of multiple variables in an array was fixed.
  • Fix adding a new variable sometimes overriding a variable inherited from the object
  • Prevent triggering layout change when the virtual keyboard appears.
    • It fixes a bug on mobile where starting typing would show the virtual keyboard, triggering a resize of the window, which would change the layout and make the input disappear.
  • Fix action sentence for BBText objects alignment
  • Fix an issue in the frame rate synchronization of the Physics behavior
    • It should avoid jittery cameras that was happening from time to time.
  • Fix scaling actions icons
  • Fix user questionnaire sometimes shown even when already filled
  • Fix events search crashing the events sheet when a parameter contains more than 5 spaces
  • Fix context menu actions disappearing when opening a project and Resources tab is restored

🛠 Internal changes (for developers)

  • Make it possible to render a GDevelop scene in VR (Thanks @arthuro555!)
  • Add more restricted characters in internationalized names
  • Upgrade Storybook to 7.4.0

Don't miss a new GDevelop release

NewReleases is sending notifications on new releases.