Hope you’ve had a great weekend! We certainly enjoyed hosting a conference for our community — GodotCon 2023, with two dozen talks and workshops, giving insights into using the engine, and building it as well. The talks are available online over at the site of our partners, the Chaos Computer Club, and soon will be uploaded to the official YouTube channel as well.

But now it’s back to business for Godot contributors, as we’re entering another week of beta testing for Godot 4.2. Beta 5 addresses a large number of crashes across all engine and editor systems. You should also have fewer problems when moving Godot 4.1 projects over to 4.2, thanks to a rework to the mesh format conversion tool and new compatibility options for imported glTF scenes.

This release also includes two compatibility breaking changes. While they are unlikely to affect any existing projects, it’s still worth a mention. A previously unutilized notification, NOTIFICATION_NODE_RECACHE_REQUESTED, was completely removed from the engine (besides being unutilized it also conflicted with some other notifications, causing problems for some GDExtensions). Additionally, AnimationLibrary erroneously had its internal data property exposed, which was corrected.

Jump to the Downloads section, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the Web editor or the Android editor for this release. If you are interested in the latter, please request to join our testing group to get access to pre-release builds.


The illustration picture for this article is taken from Liberation — a space sim game by Luke Miller with a catchy and beautiful retro aesthetic. Made with open source tools, including Godot 4.2, it’s available right now on Steam (with a demo too). Make sure to also follow Luke on social networks (Mastodon, Twitter).

What’s new

For an overview of what’s new overall in Godot 4.2, have a look at the release notes for 4.2 beta 1, which cover a lot of the changes. This blog post only covers the changes between beta 4 and beta 5.

27 contributors submitted 58 improvements for this release. You can review the complete list of changes with our interactive changelog, which contains links to relevant commits and PRs for this and every previous release. Below are the most notable changes compared to 4.2-beta4:

  • Animation: Move animation slice processing to _post_fix_animations (GH-83036).
  • Animation: Fix handling of AnimationMixer’s track paths when renaming nodes (GH-84282).
  • Animation: Unexpose internal data property of AnimationLibrary (GH-84376).
  • Animation: Add PackedArray to the list of enforcing Discrete for AnimationMixer (GH-84390).
  • Animation: Fix RESET not effective when saving inactive scene (GH-84405).
  • Buildsystem: Linux: Remove hardcoded lib path for x86 cross-compilation (GH-84307).
  • C#: Fix crash with DisposablesTracker_OnGodotShuttingDown (GH-78157).
  • Core: Remove unused NOTIFICATION_NODE_RECACHE_REQUESTED notification (GH-84419).
  • Editor: Optimize and fix some class and gizmo icons (GH-82133).
  • Editor: Fix ownership bugs in node copy and pasting (GH-83596).
  • Editor: Fix some Node3DEditor snapping issues (GH-84049).
  • Editor: Fix various crashes in the Filesystem dock (GH-84217, GH-84218).
  • Editor: Fix pressing save in Import Defaults not working (GH-84291).
  • Editor: Disconnect EditorNode from file dialogs on destruction (GH-84302).
  • Editor: Tweak FastNoiseLite property hints for better slider usability (GH-84494).
  • Export: macOS: Remove deprecated altool notarization support, disable rcodesign for C# version (GH-83482).
  • GDExtension: Save and compare modification times separately for reload (GH-84315).
  • GDScript: Fix _get_debug_tooltip crash if tooltip string is too large (GH-81018).
  • GUI: Fix activate_item_by_event infinite recursion crash (GH-84183).
  • GUI: TextServer: Fix glyph comparator ambiguous output (GH-84232).
  • GUI: TextServer: Fix line breaks for dropcap and resizing embedded objects (GH-84287).
  • Import: Enhance checks and user experience around tangent arrays in meshes (GH-84252).
  • Import: Implement glTF compatibility system for files imported in older Godot versions (GH-84271).
  • Particles: Fix several Material texture parameter updates (GH-84303).
  • Physics: Fix rotated tile collision not working at runtime (GH-84261).
  • Porting: Android: Use ANDROID_HOME to automatically locate Android SDK (GH-84285, GH-84316).
  • Porting: macOS: Fallback to native OpenGL renderer if ANGLE initialization failed (GH-83753, GH-84288).
  • Rendering: Overhaul the mesh format conversion tool (GH-84200).
  • Rendering: Fix cubemap downsampler logic (GH-84223).
  • Rendering: Fix WebXR on desktop emulator by reseting active texture unit (GH-84267).
  • Shaders: GLES: Fix int to uint implicit cast error when using mat3 uniform (GH-81494).
  • Thirdparty: mbedtls: Backport Windows fix to use bcrypt for entropy (GH-84042).

This release is built from commit 4c96e9676.

Downloads

Standard build includes support for GDScript and GDExtension.

.NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

  • .NET build requires .NET SDK 6.0 or 7.0 installed in a standard location.
    • .NET 8.0 should also be supported, but keep in mind this version of the .NET SDK is still in preview. Give it a try and let us know if you find any bugs.
  • To export to Android, .NET 7.0 or later is required. To export to iOS, .NET 8.0 is required. Make sure to set the target framework in the .csproj file.

While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

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.

Bug reports

As a tester, we encourage you 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 previous 4.x releases, but no longer works in 4.2 beta 5).

Support

Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, as well as a handful of part or full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their financial support to the project!

If you’d like to support the project financially and help us secure our future hires, you can do so using the Godot Development Fund platform managed by Godot Foundation. There are also several alternative ways to donate which you may find more suitable.