Upgrading from Godot 4.3 to Godot 4.4
For most games and apps made with 4.3 it should be relatively safe to migrate to 4.4.This page intends to cover everything you need to pay attention to when migratingyour project.
Breaking changes
If you are migrating from 4.3 to 4.4, the breaking changes listed here mightaffect you. Changes are grouped by areas/systems.
This article indicates whether each breaking change affects GDScript and whetherthe C# breaking change isbinary compatible orsource compatible:
Binary compatible - Existing binaries will load and execute successfully withoutrecompilation, and the run-time behavior won't change.
Source compatible - Source code will compile successfully without changes whenupgrading Godot.
Core
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
FileAccess | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
OS | ||||
Method | ||||
Method | ||||
RegEx | ||||
Method | ||||
Method | ||||
Semaphore | ||||
Method | ||||
TranslationServer | ||||
Method |
Default buffer size in 4.3 is1024
.
GUI nodes
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
RichTextLabel | ||||
Method | ||||
Method | ||||
GraphEdit | ||||
Method | ||||
Signal |
Physics
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
SoftBody3D | ||||
Method |
Rendering
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
CPUParticles2D | ||||
Method | ||||
CPUParticles3D | ||||
Method | ||||
GPUParticles2D | ||||
Method | ||||
GPUParticles3D | ||||
Method | ||||
RenderingDevice | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
Method | ||||
RenderingServer | ||||
Method | ||||
Shader | ||||
Method | ||||
Method | ||||
VisualShaderNodeCubemap | ||||
Property | ||||
VisualShaderNodeTexture2DArray | ||||
Property |
Note
In C#, the enumRenderingDevice.StorageBufferUsage
breaks compatibility because of the way the bindings generatordetects the enum prefix. New members where added inGH-100062 to the enum that caused the enum members to be renamed.
Navigation
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
NavigationServer2D | ||||
Method | ||||
NavigationServer3D | ||||
Method |
Editor plugins
Change | GDScript Compatible | C# Binary Compatible | C# Source Compatible | Introduced |
---|---|---|---|---|
EditorInterface | ||||
Method | ||||
Method | ||||
Method | ||||
EditorSceneFormatImporter | ||||
Method | ||||
EditorTranslationParserPlugin | ||||
Method |
Note
The method_get_import_flags
was never used by the engine. It was removed despite thecompatibility breakage as there's no way for users to rely on this affecting engine behavior.
Behavior changes
Core
Note
TheCurve
resource now enforces its value range, somin_value
andmax_value
need to be changedif any of the points fall outside of the default[0,1]
range.
Rendering
Note
TheVisualShaderNodeVec4Constant
shader node had its input type changed toVector4
. Users need torecreate the values in their constants.
CSG
Note
The CSG implementation now uses Emmett Lalish'sManifold library (GH-94321).The new implementation is more consistent with manifold definitions and fixes a number of bugs and stabilityissues. As a result, non-manifold meshes are no longer supported. You can useMeshInstance3D
forrendering non-manifold geometry, such as quads or planes.
Android
Note
Android sensor events are no longer enabled by default (GH-94799). Projects that use sensor events canenable them as needed in Project Settings underInput Devices > Sensors.