This March was all about GDC for the majority of Godot maintainers. We had a blast hosting multiple Godot game developers and talking to people in the community and industry about our little open source engine! We have a lot to tell you about the future of Godot, and we have a lot of plans for the work that needs to be done. Be sure to keep an eye on this blog and our social accounts for more news and stories to come.
While the conference and the events around it were happening, the development of the engine itself didn’t stop for a day! Thanks to tireless contributors we have released Godot 4.0.1 two weeks ago, and now we are getting ready to release a second patch release. With it we keep focusing on the immediate issues, crashes, and smaller usability improvements, that can be safely made available to you right now.
As this is a Release Candidate, we don’t expect any new problems and encourage you to give it a try. It should be safe to migrate your existing projects to 4.0.2, but to make sure of that we need your help testing the changes. If there are no significant regressions reported with release candidates, a stable version is going to be published soon. Don’t forget to always make backups when moving versions, even minor. Better yet, prefer using a version control system, such as Git, and commit a version of your project before the migration.
This release candidate includes some changes which may interest a lot of users:
- macOS users have been experiencing editor crashes when trying to save scenes with a key combination or from the top menu, which has now been fixed (GH-75254).
- There were several reports on Windows of the editor randomly ignoring keys after alt-tabbing or pressing the Win key; this has also been fixed (GH-75172).
- The Android platform has received a number of improvements, including support for SDK 33 (Android 13) (GH-75203).
- The engine will no longer try to load unsupported compressed texture formats in exported projects (GH-74684).
As usual, you can try it live with the online version of the Godot editor updated for this release.
The illustration picture is from 3D Balls Pool — one of many playable demos made by the team at GDQuest to showcase the new features of Godot 4. You have probably seen many of them in the Godot 4.0 release post. The entire collection is available on GitHub, and you can download it, learn how it all works, and play around yourself! The GDQuest folks also produce quality YouTube tutorials and professional courses for Godot.
See the full changelog on GitHub for an overview of all changes since 4.0.1-stable (92 commits – excluding merge commits ― from 50 contributors).
Some of the most notable feature changes in this update are:
- 2D: Use 8×8 default grid size for TextureRegion and 2D polygon editors (GH-73685).
- 2D: Fix preview rendering and transform calculations in the tiles editor (GH-74982).
- 2D: Fix
VISIBILITY_CHANGEDnotification order when
CanvasItementers tree (GH-75238).
- 2D: Fix a crash in the tiles editor when merging atlases (GH-75361).
- 2D: Don’t allow selecting nodes without owner in the editor (GH-75492).
- 3D: Fix GridMap signal
cell_size_changeddisconnect error (GH-74890).
- Android: Use the new API for virtual keyboard height detection on Android, bugfix for old API (GH-74398).
- Android: Configure maven central snapshot versions for the Godot Android library (GH-74470).
- Android: Add “filesRoot” path to Android provider paths xml (GH-74673).
- Android: Fix directory access when the running app has the
All files accesspermission (GH-75146).
- Android: Bump the target SDK version to 33 (Android 13) (GH-75203).
- Animation: Update property keying state without a full Inspector rebuild (GH-74564).
- Animation: Fix
AnimatedSprite2Dautoplay warning (GH-75258).
- Buildsystem: Exit with non-zero status if there are issues with FreeType dependencies (GH-74645).
- Buildsystem: SCons: Cleanup
pulseaudiodefines for Linux (GH-74666).
- C#: Encode
GodotProjectDiras Base64 to prevent issues with special characters (GH-74312).
- C#: Fix building projects for MSBuild before 17.3 (GH-74479).
- C#: Do not print errors about missing references to intentionally ignored members (GH-75284).
- C#: Fix
Array.AddRangeindex out of bounds (GH-75357).
- Core: Fix some race conditions that happen during initialization (GH-73793).
- Core: Fix crash in resource load (GH-74166).
- Core: Fix
randfnto prevent it from generating nan values (GH-74248).
- Core: Fix Variant hashing for floats (GH-74600).
- Core: Add a missing
ImageTextureLayered::_imagessetter for the C# bindings (GH-74668).
- Core: Exposing more project settings for documentation (GH-74727).
- Core: Fix type check for
- Core: Fix
Array.slice()rounding when step is other than 1 (GH-74909).
- Core: Make
Gradientresort points on
- Core: Port robust signal (dis)connection to
- Editor: Fix cancelling selection while gizmo editing making uncommitted changes (GH-71156).
- Editor: Improve POT Generation dialog (GH-74213).
- Editor: Hide internal settings from the class reference (GH-74226).
- Editor: Fix
EditorUndoRedoManager’s handling of
- Editor: Fix built-in scripts missing their methods on signal connection (GH-74495).
- Editor: Fix “Download Project Source” for the Web Editor (GH-75194).
- Editor: Remove disabled plugins from active plugins (GH-75331).
- Editor: Fix incorrect sizes of some editor elements (GH-75379, GH-75381).
- Editor: More i18n improvements (GH-75385).
- Export: Fix GDExtensions library export when multiple architectures are set (GH-74057).
- Export: Delete unused compression formats from
.importfiles when exporting (GH-74684).
- GDScript: Make GDScript number highlighting stricter (GH-74184).
- GDScript: Fix “Find in Files” search results not opening built-in script (GH-74401).
- GDScript: Fix false positive
- GUI: Fix scrolling behavior with zero/low page value (GH-67910).
- GUI: Fix some ways to create inconsistent Viewport size states (GH-73188).
- GUI: Improve layout direction/locale automatic selection (GH-73716).
- GUI: Fix
GraphNoderesizing when its bottom border is too thin (GH-73800).
- GUI: Add mutex for FreeType face creation/deletion operations in TextServer (GH-73987).
- GUI: Fix IME position in the single window mode sub-windows (GH-74472).
- GUI: Fixes gutter set width results in receiving only half of the desired size (GH-74537).
- GUI: Fix
get_drag_datanot overridable in some Controls (GH-75122).
- Import: Fix
high_qualityvariable type (GH-75244).
- Input: Remove
meta_memupdate on keyup/keydown on Windows (GH-75172).
- This fixes situations where alt-tabbing from the editor would prevent keys and shortcuts from working.
- Input: Fix layout bug in
keyboard_get_keycode_from_physicalon Linux/X11 (GH-75461).
- macOS: Re-add support for the
_sc_inside app bundle. (GH-73429).
- macOS: Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog (GH-75254).
- This fixes a crash when trying to save scenes in the editor with a shortcut.
- Multiplayer: Fix list handling in
- Navigation: Fix GridMap free navigation RID error spam (GH-74889).
- Navigation: Fix agents with disabled avoidance getting added to avoidance simulation (GH-74893).
- Particles: Update GPUParticles2D/3D speed scale on
- Physics: Expose the
apply_floor_snapfunction to allow manual snap (GH-73749).
- Physics: Revert attempted fix of trimesh CCD (GH-74861).
- Physics: Fix
collide_shapereturn type (GH-75260).
- Project converter: Add conversion for
- Project converter: Remove Tween properties/signals from renames (GH-75443).
- Rendering: Incorporating the availability of screen and depth textures for the GLES3 backend (GH-72361).
- Rendering: Fix spotlight shadows in volumetric fog (GH-73919).
- Rendering: Fix issues with point size not functioning correctly in GLES3 (GH-73966).
- Shaders: Add drag and drop support for shader include files in shader editor (GH-74869).
- Shaders: Fix ndc calculation for LinearSceneDepth VS node in GLES3 (GH-74910).
- XR: Replace OpenXR operating system alert dialog with a warning log message (GH-73144).
- XR: Add
- XR: Enable access to the Valve Index grip force sensors (GH-74787).
- XR: Check hardware sRGB conversion when an sRGB target is used (GH-74892).
- XR: Fix typo in OpenXR pose orientation check (GH-74928).
- Thirdparty: Update
mymindstorm/setup-emsdkto v12 (GH-75339).
- As well as several improvements to the documentation.
The downloads for this dev snapshot can be found directly on our repository:
- Standard build (GDScript, GDExtension).
- .NET 6 build (C#, GDScript, GDExtension).
There are currently no known issues introduced by this release.
With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of known bugs.
As a tester, you are encouraged to open bug reports if you experience issues with this release. Please check the existing issues on GitHub first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.
In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 4.0, but no longer works in 4.0.2 RC 1).
Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers hired thanks to donations from the Godot community. A big thank you to everyone who has contributed their time or financial support to the project!