With GodotCon behind us and our developers recuperated, we’re thrilled to return to a more frequent release-cycle. It’s only been two weeks since we last checked in, yet there’s still so much to talk about! So buckle on in for a breakdown of what you can expect to see in 4.4 dev 5. GodotCon Many of the changes in this release are bug fixes that will be backported to Godot 4.3 and released in 4.3.1! So please test this release well so we can be confident with the changes and release 4.3.1 with them as soon as possible. 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). Jump to the Downloads Downloads section Web editor Web editor XR editor XR editor Android editor Android editor testing group The original cover illustration is from The Rise of the Golden Idol, a mystery game where you unravel the truth behind 20 cases of crime in the 1970s! It is developed by Color Gray Games. You can purchase the game on Steam and follow the developer on Twitter. The original cover illustration is from The Rise of the Golden Idol The Rise of the Golden Idol a mystery game where you unravel the truth behind 20 cases of crime in the 1970s! It is developed by Color Gray Games. You can purchase the game on Steam and follow the developer on Twitter. Color Gray Games on Steam Twitter Highlights In case you missed them, see the 4.4 dev 1, 4.4 dev 2, 4.4 dev 3, and 4.4 dev 4 release notes for an overview of some key features which were already in that snapshot, and are therefore still available for testing in dev 5. 4.4 dev 1 4.4 dev 2 4.4 dev 3 4.4 dev 4 Here are highlights of a few new features in dev 5 that you might find particularly exciting! Universalize UID support Previously, the UID format was not supported by all Resource types. This proved to be a pain point for users wishing to reference their scripts and other resources in a manner that’s path-agnostic. This, along with a need to refactor their scripts anytime these kinds of files were moved, put a significant duty of care on the end-user that shouldn’t have been necessary. Starting with dev 5, this will no longer be your burden to bear! Thanks to a long-term effort from reduz, UIDs will now be applied universally in a way the engine can automatically track and account for. This is achieved via .uid files for the resource types that previously didn’t support them, functioning similarly to other metadata files that “track” a main file. reduz .uid Note that, unlike metadata files, .uid files are strictly for the editor; the information is migrated to the uid database on export. Despite this, users using version control software should add these files, as they’re required to properly sync data (similar to .import files). For more information, see (GH-97352). .uid should add these files .import GH-97352 Favorite editor items A common complaint we hear regarding the inspector is the potential for it to get cluttered. Namely, while there’s generally a wide selection of options available for a given class/script, users will usually only care about a particular subsection that suits them. To account for this, YeldhamDev brings us the long-awaited ability to pin one’s favorite properties in the inspector! Check out the implementation from PR (GH-97352) below: YeldhamDev GH-97352 And more! There are too many exciting changes to list them all here, but here’s a curated selection: 2D: Add a way to know when a TileMapLayer’s cell is modified (GH-96188). 2D: Make possible to scale multiple nodes at once in the canvas editor (GH-98534). 3D: Fix Gridmap shortcut conflicts with 3D editor (GH-99170). 3D: Move GridMapEditor to bottom panel (GH-96922). Animation: Add advance_on_start option to NodeAnimation to handle advance(0) for each NodeAnimation (GH-94372). Animation: Fix key is deselected by changing key time in KeyEdit in FPS mode (GH-99319). Animation: Implement LookAtModifier3D (GH-98446). Animation: Sort blend shapes in the inspector by ID instead of alphabetically (GH-99231). Audio: Allow waveform resize (GH-97551). Audio: Fix AudioStreamWAV::save_to_wav adding extra ‘.wav’ to file if existing ext is not lower case (GH-98717). Buildsystem: Bump minimum version of SCons to 4.0 & Python to 3.8 (GH-99134). Core: Add typed dictionary support for binary serialization (GH-98120). Core: Fix Freed Object booleanization (GH-93885). Core: Fix MissingResource properties being stripped on save (GH-86600). Core: Fix comparison of callables (GH-99078). Core: Provide a reliable way to see original resources in a directory (GH-96590). Dotnet: Add Codium support to C# external editors (GH-89051). Dotnet: Implement [ExportToolButton] (GH-97894). Editor: Add a pin toggle to prevent involuntary bottom editor switching (GH-98074). Editor: Add fuzzy string matching to quick open search (GH-98278). Editor: Highlight scripts used by current scene (GH-97041). Editor: Optimize FileSystem Dock filtering (GH-95107). Export: Add ability for PCK patches to remove files (GH-97356). Export: Display project settings splash color on web export (GH-96625) GDExtension: Fix method binds not saying if they are varargs (GH-99403). GDExtension: Improve macOS library loading/export (GH-98809). GDScript: Add support for print command in local (command line -d) debugger (GH-97218). GUI: Fix tooltip appearing in old place, on movement (GH-96721). Import: Allow passing UID to importer (GH-97363). Import: Reload cached resources in runtime on file reimport (GH-98710). Input: Revert “Fix InputEvent device id clash” and add a compatibility function (GH-99449). Multiplayer: Handle scene UIDs in MultiplayerSpawner (GH-99137). Navigation: Improve NavMeshGenerator2D::generator_bake_from_source_geometry_data performance (GH-98957). Navigation: Reduce allocations for NavMap synchronisation (GH-98866). Network: Split Unix/Windows IP implementation (GH-99026). Network: Split Unix/Windows NetSocket implementation (GH-98969). Plugin: Make the method selector dialog available via EditorInterface (GH-98859). Rendering: Add multimesh_get_buffer_rd_rid method to RenderingServer (GH-98788). Rendering: Ensure shadow material and mesh are not used with wireframe mode (GH-98683). Rendering: Normalize normal, tangent, and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes (GH-99163). Rendering: Reduce shader permutations in the compatibility backend (GH-87558). Shaders: Add renderer state defines to shader preprocessor (GH-98549). Shaders: Add swap connection option to visual shader graph (GH-99177). XR: Fix pose recenter signal to be omitted properly (GH-99159). 2D: Add a way to know when a TileMapLayer’s cell is modified (GH-96188). GH-96188 2D: Make possible to scale multiple nodes at once in the canvas editor (GH-98534). GH-98534 3D: Fix Gridmap shortcut conflicts with 3D editor (GH-99170). GH-99170 3D: Move GridMapEditor to bottom panel (GH-96922). GH-96922 Animation: Add advance_on_start option to NodeAnimation to handle advance(0) for each NodeAnimation (GH-94372). advance_on_start NodeAnimation advance(0) NodeAnimation GH-94372 Animation: Fix key is deselected by changing key time in KeyEdit in FPS mode (GH-99319). GH-99319 Animation: Implement LookAtModifier3D (GH-98446). GH-98446 Animation: Sort blend shapes in the inspector by ID instead of alphabetically (GH-99231). GH-99231 Audio: Allow waveform resize (GH-97551). GH-97551 Audio: Fix AudioStreamWAV::save_to_wav adding extra ‘.wav’ to file if existing ext is not lower case (GH-98717). AudioStreamWAV::save_to_wav GH-98717 Buildsystem: Bump minimum version of SCons to 4.0 & Python to 3.8 (GH-99134). GH-99134 Core: Add typed dictionary support for binary serialization (GH-98120). GH-98120 Core: Fix Freed Object booleanization (GH-93885). Freed Object GH-93885 Core: Fix MissingResource properties being stripped on save (GH-86600). MissingResource GH-86600 Core: Fix comparison of callables (GH-99078). GH-99078 Core: Provide a reliable way to see original resources in a directory (GH-96590). GH-96590 Dotnet: Add Codium support to C# external editors (GH-89051). GH-89051 Dotnet: Implement [ExportToolButton] (GH-97894). [ExportToolButton] GH-97894 Editor: Add a pin toggle to prevent involuntary bottom editor switching (GH-98074). GH-98074 Editor: Add fuzzy string matching to quick open search (GH-98278). GH-98278 Editor: Highlight scripts used by current scene (GH-97041). GH-97041 Editor: Optimize FileSystem Dock filtering (GH-95107). GH-95107 Export: Add ability for PCK patches to remove files (GH-97356). GH-97356 Export: Display project settings splash color on web export (GH-96625) GH-96625 GDExtension: Fix method binds not saying if they are varargs (GH-99403). GH-99403 GDExtension: Improve macOS library loading/export (GH-98809). GH-98809 GDScript: Add support for print command in local (command line -d) debugger (GH-97218). print -d GH-97218 GUI: Fix tooltip appearing in old place, on movement (GH-96721). GH-96721 Import: Allow passing UID to importer (GH-97363). GH-97363 Import: Reload cached resources in runtime on file reimport (GH-98710). GH-98710 Input: Revert “Fix InputEvent device id clash” and add a compatibility function (GH-99449). InputEvent GH-99449 Multiplayer: Handle scene UIDs in MultiplayerSpawner (GH-99137). GH-99137 Navigation: Improve NavMeshGenerator2D::generator_bake_from_source_geometry_data performance (GH-98957). NavMeshGenerator2D::generator_bake_from_source_geometry_data GH-98957 Navigation: Reduce allocations for NavMap synchronisation (GH-98866). GH-98866 Network: Split Unix/Windows IP implementation (GH-99026). GH-99026 Network: Split Unix/Windows NetSocket implementation (GH-98969). GH-98969 Plugin: Make the method selector dialog available via EditorInterface (GH-98859). EditorInterface GH-98859 Rendering: Add multimesh_get_buffer_rd_rid method to RenderingServer (GH-98788). multimesh_get_buffer_rd_rid RenderingServer GH-98788 Rendering: Ensure shadow material and mesh are not used with wireframe mode (GH-98683). GH-98683 Rendering: Normalize normal, tangent, and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes (GH-99163). GH-99163 Rendering: Reduce shader permutations in the compatibility backend (GH-87558). GH-87558 Shaders: Add renderer state defines to shader preprocessor (GH-98549). GH-98549 Shaders: Add swap connection option to visual shader graph (GH-99177). GH-99177 XR: Fix pose recenter signal to be omitted properly (GH-99159). GH-99159 Changelog 116 contributors submitted 265 improvements for this new snapshot. See our interactive changelog for the complete list of changes since the previous 4.4-dev4 snapshot. 116 contributors 265 improvements interactive changelog interactive changelog This release is built from commit 9e6098432. 9e6098432 Downloads Download Godot 4.4 dev5 Download Godot 4.4 dev5 Standard build includes support for GDScript and GDExtension. Standard build .NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension. .NET build mono See also C# platform support. See also C# platform support. C# platform support 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. a pre-release piece of software 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. 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. open bug reports existing issues on GitHub 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! generous donations from the Godot community their time their financial support 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. Godot Development Fund Godot Foundation alternative ways to donate By: Thaddeus Crews Also published here here Photo by tabrez siddiqui on Unsplash tabrez siddiqui Unsplash