Season’s greetings, everyone! As our team winds down for the holiday season, we present you with one last gift before the new year: our final development build of the year!

After having a few notable regressions in dev 6, we intended to do a quick turnaround for dev 7 with high priority bug fixes. But we got greedy and ended up making dev 7 another feature-packed new release so you will have plenty of things to check out while we are on holidays.

Keep in mind that while we try to make sure each dev snapshot is stable enough for general testing, 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.

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, XR editor, or the Android editor for this release (join the Android editor testing group to get access to pre-release builds).


The cover illustration is from Pest Apocalypse, a hyper-realistic post apocalyptic physics based pizza delivery action rogue-lite! It is developed by Kikimora Games. You can purchase the game on Steam, and follow the developers on BlueSky and Discord.

Highlights

In case you missed them, see the 4.4 dev 1, 4.4 dev 2, 4.4 dev 3, 4.4 dev 4, 4.4 dev 5, and 4.4 dev 6 release notes for an overview of some key features which were already in those snapshots, and are therefore still available for testing in dev 7.

Here are highlights of a few new features in dev 7 that you might find particularly exciting!

Jolt Physics module

Ever since its inception in late 2022, godot-jolt has become the de-facto 3D physics engine for many of our developers. Much of the history behind why this was the case is documented in this proposal by Adam Scott, but the main takeaway was a strong push for this tool to be recognized as an official addon. In doing so, users would be able to find this amazing resource in a way that was promoted by the engine itself; an exciting prospect!

The Godot Jolt maintainers, Mikael Hermansson and Jorrit Rouwe, took this idea one step further: integrating the tool as part of the engine directly. There was already a symbiosis between their team and the Godot engine, with many features being added to Godot and Jolt to accommodate both, but the integration of an official module was no small feat; their pull request (GH-99895) ended up adding over 500 files and 115 thousand lines of code! So while this was one of the most rigorously tested PRs relative to the amount of time it’s been up, it’d be impossible for any team to account for everything this behemoth introduced, so we eagerly await your feedback (and bug reports) on one of the most highly-requested features of 4.x.

Note: At time of writing, this does not replace Godot Physics as the default 3D physics engine. The Jolt Physics integration in Godot is considered experimental, and may change in future releases. It also lacks some features of Godot Physics so isn’t a full drop-in replacement. If your interests/use-case are supported, the tool can be enabled by changing the physics/3d/physics_engine project setting to Jolt Physics.

.NET 8.0

Paul Joannon and Raul Santos have put the final pieces in place for moving both the GodotSharp library and user projects to .NET 8 (GH-92131 and GH-100195). All new projects will use .NET 8 by default and existing projects will automatically update to .NET 8 once opened with this release or any newer 4.4 build.

Improved Scene Tree editor performance

The amount of performance boosts that have been crammed in between dev 6 and dev 7 has been staggering. Of note are the recent improvements to the engine’s core including many optimizations throughout the String class, spearheaded by Ivorforce. But perhaps the most obvious improvement comes from HP van Braam and their modifications to the SceneTree system (GH-99700). While this will prove beneficial across all projects, these changes result in especially complex scenes having a tenfold performance in the editor when moving or renaming nodes in the SceneTree.

Documentation tooltips

Thanks to Danil Alexeev the GDScript code editor will now display a tooltip containing information about functions, variables, classes, etc. when you hover over them, including the documentation you have written using our documentation system (GH-91060). This makes using the integrated documentation system even more powerful as you no longer have to bounce between the code editor and the related docs to quickly get information.

Documentation tooltip

Baked shadowmasks for lightmaps

Until now, you have always had to choose between fully baked or fully dynamic shadows when using LightmapGI. However, sometimes you want to have dynamic shadows up close where detail matters, but use static shadows in the distance where a low resolution is acceptable. Finally it is possible thanks to the hard work of BlueCube3310 in GH-85653. You can now enable shadow masks while baking your LightmapGI to combine dynamic and static shadows for the best quality.

Additionally, this allows you to drastically shorten the range of your dynamic shadows which is a very important optimization, especially for mobile devices.

This feature is still experimental and it will change in response to feedback, so please test it out and let us know what you think!

Baked Lightmap

Updated toolchains for official builds

We updated some of the toolchains we use for official builds in build-containers#150, notably macOS and iOS SDKs from Xcode 16.2, and MinGW 12.0.0 with GCC 14.2.1 for Windows builds.

Toolchains for Linux, Android, and Web are still the same versions as for Godot 4.3.

And more!

There are too many exciting changes to list them all here, but here’s a curated selection:

  • 3D: Add 3D translation sensitivity to Editor Settings (GH-81714).
  • 3D: Add ruler mode to 3D (GH-100162).
  • Animation: Add animation node extension (GH-99181).
  • Audio: Add Web MIDI support (GH-95928).
  • Buildsystem: Add loongarch64 support for Linux/*BSD (GH-97822).
  • Buildsystem: Make Godot compile on FreeBSD (GH-100047).
  • Core: Fix JSON.{from,to}_native() issues (GH-99765).
  • Core: Optimize StringBuilder by using LocalVector instead of Vector (GH-99775).
  • Core: Optimize String construction from statically known strings by evaluating strlen at compile-time (GH-100132).
  • Core: Add move assignment and move constructor to Variant (GH-100426).
  • Documentation: Document _process() and _physics_process() delta behavior at low FPS (GH-94636).
  • Editor: Add ability to create a new inherited scene from code (GH-90057).
  • Editor: Add profiler autostart indicator to EditorRunBar (GH-97492).
  • Editor: Allow dragging to specific folders in filesystem dock (GH-99453).
  • Editor: Make the Script Editor’s parser execute sooner on edit after error was found (GH-87542).
  • Editor: Show String properties’ text in a tooltip in the inspector (GH-76231).
  • Export: Use temp dirs instead of cache dirs for export (GH-100150).
  • GDExtension: Fix Variant modulo operation (GH-99559).
  • GDScript: Add @warning_ignore_start and @warning_ignore_restore annotations (GH-76020).
  • GUI: Change default Arabic font to Vazirmatn (GH-100053).
  • GUI: Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second (GH-98766).
  • GUI: Improve emoji SVG parsing by caching (GH-100300).
  • GUI: Save color palette as resources to reuse later (GH-91604).
  • Import: Consider all texture types for resource thumbnail generation (GH-100247).
  • Input: Add Tablet/Trackpad 3D navigation preset (GH-97985).
  • Navigation: Despaghettify NavigationServer path queries (GH-100129).
  • Plugin: Export EditorInspector::instantiate_property_editor for use by plugins (GH-87375).
  • Rendering: Add Blend Distance property to ReflectionProbe (GH-99958).
  • Rendering: Allow changing the anisotropic filter level at run-time per Viewport (GH-88313).
  • Rendering: Further performance improvements from The Forge (GH-99257).
  • Rendering: Automatically compress new lightmap textures (GH-100327).
  • Rendering: Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes (GH-100302).
  • Rendering: Implement RD::buffer_get_data_async() and RD::texture_get_data_async() (GH-100110).
  • Shaders: Avoid error spam when shaders fail to compile by freeing shader_data version when compilation fails (GH-100128).
  • XR: Allow locking the camera to the XROrigin3D for benchmarking or automated testing (GH-99145).
  • XR: OpenXR: Add support for binding modifiers (GH-97140).

Changelog

113 contributors submitted 263 improvements for this new snapshot. See our interactive changelog for the complete list of changes since the previous 4.4-dev6 snapshot.

This release is built from commit 46c8f8c5c.

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 8.0 or newer is required for this build, changing the minimal supported version from .NET 6 to 8.

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

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.

There are currently no known issues introduced by this release.

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 this snapshot).

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.