We released Godot 4.4 in early March and we are delighted to see the reception, with so many users upgrading to it on day one and sharing their favorite new changes on social media! If you haven’t seen the 4.4 release page, it’s well worth a read!
Since then, we’ve started the development phase for Godot 4.5 at full speed (with a first dev snapshot released last week!), but we also put our main focus on fixing remaining and newly reported regressions that affect users who upgraded to 4.4. A few of these issues can be showstoppers for affected users, so we decided to release a 4.4.1 maintenance release as soon as possible.
See below for a list of the most relevant changes. This release includes fixes to security vulnerabilities in the mbedTLS third-party library, so we strongly recommend updating for any game using networking functionality.
Maintenance releases are expected to be safe for an upgrade, but we recommend to always make backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.
Please, consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.
Download Godot 4.4.1 now or try the online version of the Godot editor.
Godot is downloading...
Godot exists thanks to donations from people like you. Help us continue our work:
Make a Donation
The illustration picture for this article comes from Psycho Patrol R, a FPS/mecha hybrid europolice sim, which was recently released in Early Access on Steam. It is developed by Consumer Softproducts, known for their previous Godot hit Cruelty Squad.
Changes
58 contributors submitted around 125 fixes for this release. See our interactive changelog for the complete list of changes since the 4.4 release.
Below are some of the most notable changes (with critical fixes highlighted in bold):
- 3D: Fix
RemoteTransform3D
to always use global rotation if use_global_coordinates
is true (GH-97498). - Animation: Fix console errors and crash in cleanup code for PhysicalBoneSimulator3D (GH-103921).
- Animation: Fix missing
process_state
error in blend spaces (GH-104018). - Animation: Fix rest translation space in
LookAtModifier3D
(GH-104217). - Audio: Set interactive music streams as meta streams (GH-104054).
- Audio: Fix AudioEffectPitchShift issues when
pitch_scale
is set to 1 (GH-104090). - Buildsystem: Android: Fix build with
disable_3d
(GH-103523). - C#: Use
ObjectID
when converting Variant
to GodotObject
(GH-98034). - C#: Skip re-saving
.csproj
when TFM is unchanged (GH-103714). - Core: Use single RNG instance for
FileAccessEncrypted
IV generation (GH-103415). - Core: Fix
Invalid Task ID
errors in ResourceLoader
(GH-104060). - Editor: Fix copying a Node with a signal potentially resulting in an editor crash (GH-96372).
- Editor: Make
EditorProperty
and its child EditorProperty
behave like sibling nodes when handling mouse events (GH-103316). - Editor: Fix TextEdit scrolls wrong on text selection (GH-103410).
- Editor: Update script modified times when saved in EditorNode (GH-103695).
- Editor: Fix ownership when pasting non root with child nodes in new scene (GH-103769).
- Editor: Create .uid files for detected new files (GH-104248).
- Editor: Fix editor crash when inspecting 2 objects handled by the same plugin (GH-104296).
- Editor: Change root node transform warning to only show up for position (GH-104331).
- Export: iOS: Restore one-click deploy device enumeration using Xcode (GH-103590).
- Export: Android: Convert
compress_native_libraries
to a basic export option (GH-104301). - GDExtension: Correctly register editor-only
OpenXR*
classes’ api_type
(GH-103869). - GDScript: Fix head class range to include
class_name
(GH-104114). - GDScript: Add clearing of
static_gdscript_cache
to GDScriptCache
(GH-104281). - GUI: Fix Tree keyboard navigation in RTL direction (GH-102865).
- GUI: Fix
changed
signal emission in Curve::set_point_offset
(GH-96296). - GUI: Fix spinbox decimal issues when
update_on_text_changed
= true (GH-100684). - GUI: Fix error when embedded popup is closed while resizing (GH-102504).
- GUI: VideoStreamPlayer: Stop video on exit tree (GH-103396).
- GUI: Use
Viewport
’s default texture filter/repeat in GUI tooltips (GH-103636). - GUI: Label: Fix min. size calculation counting extra spacing twice (GH-103728).
- Import: Fix headless import always emits errors (GH-103403).
- Import: BasisUniversal: Ensure ASTC’s HDR variant is supported when transcoding (GH-103766).
- Import: ResourceLoader: Do not wait for the main thread during initial reimport (GH-104013).
- Import: Force multiple of 4 sizes for Betsy compressor (GH-104275).
- Import: Fix crash when reimporting nested gltf scenes (GH-104384).
- Input: Fix Android mouse capture issues (GH-103413).
- Input: macOS/iOS: Ensure only one axis change event is produced during single
process_joypads()
call (GH-104314). - Navigation: Make NavigationLink3D properly update on visibility change (GH-103588).
- Particles: Fix particle jitter when scene tree is paused (GH-95912).
- Particles: Fix GPU particles not emitting at some configured rates when scale curve is zero (GH-103121).
- Physics: Fix interpolation in XR (GH-103233).
- Physics: Fix broken negative scaling when using Jolt Physics (GH-103440).
- Physics: Fix
ConcavePolygonShape3D
always enabling backface_collision
when using Jolt Physics (GH-104310). - Physics: Fix
shape
always being zero with get_rest_info
when using Jolt Physics (GH-104599). - Plugin: JavaClassWrapper: Improve handling of typed array arguments (GH-102817).
- Plugin: JavaClassWrapper: Fix converting returned arrays to Godot types (GH-103375).
- Plugin: JavaClassWrapper: Fix conversion to/from
org.godotengine.godot.Dictionary
that regressed (GH-103733, GH-104156). - Porting: Linux: X11: Fix check for
is_maximized
to require both horizontal and vertical (GH-103526). - Porting: Linux: Offload RenderingDevice creation test to subprocess (GH-103560).
- Porting: macOS: Swap Nintendo face buttons (GH-103661).
- Porting: macOS: Update mouse-entered state when subwindow closes (GH-104328).
- Porting: Windows: Fix
get_modified_time
on locked files (GH-103622). - Porting: Windows: Use more efficient sleep approach when low-processor mode is enabled (GH-103773).
- Rendering: Add ASTC HDR format variants (GH-102777).
- Rendering: Fix voxelizer normals (GH-102893).
- Rendering: Fix 2D quad primitive missing lighting data in GLES3 renderer (GH-102908).
- Rendering: Fix uninitialized value in Tonemap (GH-103092).
- Rendering: Use separate WorkThreadPool for shader compiler (GH-103506).
- Rendering: Fix incorrect parameters passed to VMA (GH-103730).
- Rendering: MetalFX: Change fallback behavior (GH-103792).
- Rendering: Fix GLES3
gaussian_blur
mipmap setup (GH-103878). - Rendering: CPUParticles2D: Fix physics interpolation after entering tree with
emitting = false
(GH-103966). - Rendering: Vulkan: Disable layers in editor deemed buggy by RenderDoc (GH-104154).
- Rendering: Fix Metal handling of cube textures; assert equal dimensions (GH-104341).
- Rendering: Disable broken Vulkan layers before running RenderingDevice tests (GH-104572).
- Shaders: Fix 2D instance params crashing using outside of
main()
(GH-103348). - Shaders: 2D: Fix light shader accessing
TEXTURE_PIXEL_SIZE
(GH-103617). - Thirdparty: Theora: Fix YUV422/444 to RGB conversion (GH-102859).
- Thirdparty: Update to latest version of Swappy (GH-103409).
- Thirdparty: mbedTLS: Update to version 3.6.3 (security fix) (GH-104562).
- XR: Correct occlusion culling viewport location calculation when projection uses asymmetric FOV (GH-104249).
Known incompatibilities
As of now, there are no known incompatibilities with the previous Godot 4.4 release. We encourage all users to upgrade to 4.4.1.
If you experience any unexpected behavior change in your projects after upgrading to 4.4.1, please file an issue on GitHub.
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 and 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.
Donate now