The Godot game engine has been updated to version 4.4, representing another major release with a wide range of new features and improvements, just six months after the previous 4.3 update.

This release places a strong emphasis on enhancing the overall workflow and usability of the editor while introducing an array of features across all areas of the engine. In addition to editor improvements, notable updates include major enhancements to the core of the engine, rendering, and the integration of the Jolt physics system.

Project manager Rémi Verschelde has stated that over 500 contributors worked on this release, with nearly 3000 commits made.

Below, we provide a summarized overview of the new features and improvements, organized by topic:

Animation

One of the newest additions to the animator's toolkit is markers, which allow users to define subregions within an animation that can be jumped to or looped without playing the entire sequence.

Two new modifiers have also been introduced: LookAtModifier3D and SpringBoneSimulator3D. LookAtModifier3D facilitates procedural animation for 3D models, offering features like angle limitations and forward axis settings, making it ideal for directing a character's gaze toward a target.

SpringBoneSimulator3D is an improved version of a previously available add-on, enabling chained bones to wiggle naturally while attempting to return to their original pose after modification.

Core

The engine core has received major improvements in this release, with the most notable being the addition of Typed Dictionaries, a highly requested feature from the community. This enhancement allows all Godot scripting languages (GDScript, C#, and C++) to seamlessly interface with Godot’s Dictionary type.

Additionally, typed dictionaries can now be exported from scripts and benefit from an improved Inspector user experience, making it easier to assign the correct keys and values.


The engine core has also been optimized for better string handling, improving parsing speed and efficiency. Tool makers can now utilize temporary files and directories, while the Curve Editor has been enhanced to support extended curves, allowing domains beyond the [0,1] range.

Audio

In the audio department, the engine now supports runtime loading of WAV files. This brings parity with Ogg Vorbis audio tracks and is a welcome addition for users who want to load user-generated content at runtime.

Editor

The editor now supports embedding the game window, allowing users to run their game while interacting with the full editor without needing to move the game window aside. This feature is especially beneficial for single-monitor setups and laptops where screen space is limited. It is currently available on Windows, Linux, and Android, macOS support is planned for a future release due to technical constraints.

This addition enables interactive in-game editing, allowing users to modify their game while it is running or paused. Users can easily override the game camera, select objects, and make adjustments, all from within the editor.

Camera3D manipulation has also improved. Now, each selected 3D camera displays a live preview in the Inspector.

Several performance and usability improvements have been made in this release. Project importing errors, which previously caused issues when opening downloaded projects for the first time, have now been resolved.

Large projects benefit from significant optimizations, with loading times and filesystem operations seeing up to a 3x speed improvement. Additionally, moving or renaming nodes in the SceneTree is now much faster, even in complex scenes with hundreds or thousands of nodes.

The debugging experience has also been enhanced. The debugger panel now includes an expression evaluator, similar to other REPL debuggers, allowing users to evaluate expressions using the local script state while stopped at a breakpoint.

A new automatic profiler startup option has been introduced, enabling users to capture valuable profiling data as soon as the game runs from the editor.

Beyond performance and debugging, the editor has received several quality-of-life improvements. 3D object snapping now allows objects to snap to others when moved, making precise adjustments easier. Users can also pin favorite properties in the Inspector, helping reduce clutter and highlight key parameters. 

Lastly, the integrated documentation system has been improved with tooltips, which now appear when hovering over functions, variables, and classes for quicker reference.

GDScript

In this release, GDScript introduces several quality-of-life improvements to enhance the development experience. Users can now easily create buttons in the Inspector with the new @export_tool_button annotation in @tool scripts.

Additionally, the new @warning_ignore_start and @warning_ignore_restore annotations allow for the safe suppression of warnings across entire sections of code.

C#

Support has been added for .NET 8. All new projects will use .NET 8 by default, and existing projects will automatically update to .NET 8 when opened with this release or any newer 4.4 build.

Additionally, C# Android exports now support all available architectures (arm32, arm64, x32, and x64), whereas previously, only 64-bit architectures were supported.

Import

This version brings significant improvements to texture importing, both in quality and speed. The import times for textures using the “VRAM Compressed” setting have been greatly reduced by integrating the GPU-based Betsy texture compressor.

Furthermore, textures not using the “High Quality” import setting will now look better by default. Numerous other enhancements have been made to the texture import process, improving compatibility across devices and expanding the range of supported texture formats.

A new retargeting method, RetargetModifier3D, allows users to retarget animations without discarding the original bone rests set in the external DCC.

Godot now also supports the KHR_animation_pointer glTF extension, enabling imported animations to target custom properties in addition to previously supported ones like position, rotation, scale, and mesh blend shape weights.

Navigation

In this release, the navigation system has been improved as part of an ongoing effort to modernize its code, resulting in a cleaner codebase and faster navigation features. Notably, the synchronization of the navigation map now occurs asynchronously in a background thread, reducing its impact on framerate. This means that rather than causing slowdowns on lower-end systems, updates will simply occur less frequently.

Additionally, several quality-of-life improvements have been made to navigation, including debug indicators that display the direction of NavigationLinks and support for transforming NavigationObstacle nodes using the node's transform.

Input

The Input system has received several incremental improvements and polish. The default deadzone for new actions has been reduced from 0.5 to 0.2, making input feel more responsive by default.

The Drag-and-Drop system has been expanded to support dragging and dropping between different viewports and even across windows.

Improvements have also been made to game controller functionality on iOS and macOS. The code has been unified to ensure consistent behavior across both platforms, and several bugs have been fixed. These updates improve the reliability of controller discovery and rumble motor manipulation, resulting in a better overall gaming experience.

Physics

In the physics department, Godot Engine has received a major update with the integration of Jolt Physics directly into the engine.

This addition comes from the maintainers of Godot-Jolt, a Godot extension that previously integrated the Jolt physics engine. Due to its widespread use and popularity among Godot developers, the decision was made to integrate Jolt Physics directly into Godot.

The new Jolt Physics integration is currently in an experimental state and does not yet include all the features of Godot Physics, so it isn't a full drop-in replacement. However, it has the potential to become the default physics engine for new projects in the future.

Platforms

In this update, Linux support has been extended to include cameras, allowing developers to access connected cameras directly within their game.

The development experience on Android devices has been significantly improved. One key addition is support for exporting games directly from the Android editor. Additionally, the ability to launch the Play window in PiP (Picture-in-Picture) mode has been added, making it easier for developers to leverage the tight integration between the editor and the running game while developing on Android devices.

Android game and app developers can now take advantage of the Android file picker, providing a familiar interface for users.

Furthermore, a new AndroidRuntime plugin has been added, exposing the Android Runtime and making it simpler to access Android libraries and SDKs within games and apps.

Rendering and shaders

Significant changes originally planned for the 4.3 update were postponed and are now included in this release. Notably, the Metal rendering backend and MetalFX upscaler have been incorporated, ensuring the best performance on macOS and iOS devices.

Physics interpolation, first introduced for 2D in Godot 4.3, is now extended to 3D objects, including Multimesh. This allows physics updates to occur at a very low FPS while maintaining smooth movement, reducing CPU overhead and improving overall rendering smoothness.

A new Ubershader has been introduced, allowing the engine to compile a flexible but slower version of shaders at load time. This serves as a fallback while optimized shaders compile in the background. Additionally, support for shader instance uniforms in CanvasItem shaders has been added, enabling the assignment of unique uniform values to each CanvasItem that uses them.

Support for AgX tone mapping has been added, a new and innovative algorithm designed to give a filmic quality to images, particularly handling bright scenes better than existing tone mappers.

The addition of Shadow Caster Masks gives users the ability to apply a mask on Light3Ds to control which rendering layers are considered when casting shadows. This provides more fine-grained control for optimizing dynamic lights and determining where shadows appear in games.

The particle system now includes visualization for the emission shapes of both 3D CPU and GPU particle systems, removing the guesswork in determining where particles will appear.

2D batching has been implemented for the Forward+ and Mobile backends, joining the existing Compatibility renderer. This brings performance on all backends to comparable levels.

The lightmapper has been improved with several new features, including support for bicubic sampling, shadow masks, and compression for lightmap textures. In addition, lightmap supersampling is now available, enabling higher-resolution baking to reduce aliasing and capture finer details. Support for transparent objects, including semi-transparent shadows, has also been added to lightmap baking.

The blending logic for ReflectionProbes has been overhauled to prioritize smaller probes over larger ones, preventing the "double reflection" effect that could look unnatural. 

A new blend distance property has been introduced, allowing users to control the distance at which the reflection fades.

Additionally, the editor user experience has been improved by making the gizmos for ReflectionProbe and VoxelGI less intrusive.

A new improvement ensures that when the engine starts, it will automatically fall back to using OpenGL (the Compatibility backend) if other backends are unavailable, providing the smoothest experience for users on older devices.

Vertex shading has been reintroduced after strong demand, delivering significant performance optimizations. This feature plays a key role in recreating PSX-style graphics.

Finally, both the 2D and 3D renderers have been optimized across the board, resulting in overall performance improvements, particularly for 2D lighting, rendering on mobile devices, and general 2D rendering.

XR

In the XR department, the Android version of the Godot editor has been adapted for XR devices using OpenXR and is now available on Meta Quest 3 and Quest Pro through the Horizon Store, with support for the PICO 4 Ultra coming soon. OpenXR support has also been extended to Metal, enhancing the developer experience for macOS developers using the Meta XR Simulator.

A new feature has been added, allowing developers to apply modifiers to the action map for supporting OpenXR runtimes. 

Godot 4.3 first introduced OpenXR composition layers for sharp 2D panels using a SubViewport. In this release, the support has been expanded to include Android surfaces, enabling smooth media playback in XR on Android.

For more information about this release, be sure to visit the official Godot Engine website.

Blips Game Music Packs

Note: You're leaving the Blips Blog. The visited links may be subject to different privacy and cookie policies.