Upgrading from Redot 4.2 to Redot 4.3
For most games and apps made with 4.2 it should be relatively safe to migrate to 4.3. This page intends to cover everything you need to pay attention to when migrating your project.
Breaking changes
If you are migrating from 4.2 to 4.3, the breaking changes listed here might affect you. Changes are grouped by areas/systems.
This article indicates whether each breaking change affects GDScript and whether the C# breaking change is binary compatible or source compatible:
- Binary compatible - Existing binaries will load and execute successfully without recompilation, and the runtime behavior won't change.
- Source compatible - Source code will compile successfully without changes when upgrading Redot.
GDExtension
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
GDExtension
Method close_library removed |❌| |❌| |❌| GH-88418
Method initialize_library removed |❌| |❌| |❌| GH-88418
Method open_library removed |❌| |❌| |❌| GH-88418
======================================================================================================================== =================== ==================== ==================== ===========
Since it was basically impossible to use these methods in any useful way, these methods have been removed. Use GDExtensionManager::load_extension and GDExtensionManager::unload_extension instead to correctly load and unload a GDExtension.
Animation
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
Animation
Method position_track_interpolate adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-86629
Method rotation_track_interpolate adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-86629
Method scale_track_interpolate adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-86629
Method blend_shape_track_interpolate adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-86629
Method value_track_interpolate adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-86629
Method track_find_key adds a new limit optional parameter |✔️| |✔️ with compat| |✔️| GH-86661
Method track_find_key adds a new backward optional parameter |✔️| |✔️ with compat| |✔️| GH-92861
AnimationMixer
Method _post_process_key_value changes object parameter type from Object to uint64 |✔️| |❌| |❌| GH-86687
Skeleton3D
Method add_bone changes return type from void to int32 |✔️| |❌| |✔️| GH-88791
Signal bone_pose_changed replaced by skeleton_updated |❌| |❌| |❌| GH-90575
BoneAttachment3D
Method on_bone_pose_update replaced by on_skeleton_update |✔️| |✔️ with compat| |✔️ with compat| GH-90575
======================================================================================================================== =================== ==================== ==================== ===========
GUI nodes
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
AcceptDialog
Method register_text_enter changes parameter line_edit type from Control to LineEdit |✔️| |✔️ with compat| |✔️ with compat| GH-89419
Method remove_button changes parameter button type from Control to Button |✔️| |✔️ with compat| |✔️ with compat| GH-89419
======================================================================================================================== =================== ==================== ==================== ===========
Physics
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
PhysicsShapeQueryParameters3D
Property motion changes type from Vector2 to Vector3 |❌| |❌| |❌| GH-85393
======================================================================================================================== =================== ==================== ==================== ===========
Rendering
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
RenderingDevice
Enum field FinalAction.FINAL_ACTION_CONTINUE changes value from 2 to 0 |✔️| |❌| |❌| GH-84976
Enum field InitialAction.INITIAL_ACTION_CLEAR changes value from 0 to 1 |✔️| |❌| |❌| GH-84976
Enum field InitialAction.INITIAL_ACTION_CLEAR_REGION_CONTINUE changes value from 2 to 1 |✔️| |❌| |❌| GH-84976
Enum field InitialAction.INITIAL_ACTION_CONTINUE changes value from 5 to 0 |✔️| |❌| |❌| GH-84976
Enum field InitialAction.INITIAL_ACTION_DROP changes value from 4 to 2 |✔️| |❌| |❌| GH-84976
Enum field InitialAction.INITIAL_ACTION_KEEP changes value from 3 to 0 |✔️| |❌| |❌| GH-84976
Method buffer_clear removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method buffer_update removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method compute_list_begin removes allow_draw_overlap parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method compute_list_end removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method draw_list_begin removes storage_textures parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method draw_list_end removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method texture_clear removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method texture_copy removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method texture_resolve_multisample removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
Method texture_update removes post_barrier parameter |✔️| |✔️ with compat| |✔️ with compat| GH-84976
RenderingServer
Method environment_set_fog adds a new fog_mode optional parameter |✔️| |✔️ with compat| |✔️| GH-84792
RenderSceneBuffersRD
Method get_color_layer adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
Method get_depth_layer adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
Method get_velocity_layer adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
Method get_color_texture adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
Method get_depth_texture adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
Method get_velocity_texture adds a new msaa optional parameter |✔️| |✔️ with compat| |✔️| GH-80214
======================================================================================================================== =================== ==================== ==================== ===========
Text
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
Font
Method find_variation adds a new baseline_offset optional parameter |✔️| |✔️ with compat| |✔️| GH-87668
RichTextLabel
Method push_meta adds a new underline_mode optional parameter |✔️| |✔️ with compat| |✔️| GH-89024
TextServer
Method shaped_text_get_word_breaks adds a new optional skip_grapheme_flags parameter |✔️| |✔️ with compat| |✔️| GH-90732
TextServerExtension
Method _shaped_text_get_word_breaks adds a new skip_grapheme_flags parameter |❌| |❌| |❌| GH-90732
======================================================================================================================== =================== ==================== ==================== ===========
Audio
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
AudioStreamPlaybackPolyphonic
Method play_stream adds new playback_type, and bus optional parameters |✔️| |✔️ with compat| |✔️| GH-91382
======================================================================================================================== =================== ==================== ==================== ===========
Navigation
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
AStar2D
Method get_id_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
Method get_point_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
AStar3D
Method get_id_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
Method get_point_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
AStarGrid2D
Method get_id_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
Method get_point_path adds new allow_partial_path optional parameter |✔️| |✔️ with compat| |✔️| GH-88047
NavigationRegion2D
Property avoidance_layers removed |❌| |❌| |❌| GH-90747
Property constrain_avoidance removed |❌| |❌| |❌| GH-90747
Method get_avoidance_layer_value removed |❌| |❌| |❌| GH-90747
Method set_avoidance_layer_value removed |❌| |❌| |❌| GH-90747
======================================================================================================================== =================== ==================== ==================== ===========
TileMap
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
TileData
Method get_navigation_polygon adds new flip_h, flip_v, and transpose optional parameters |✔️| |✔️ with compat| |✔️| GH-84660
Method get_occluder adds new flip_h, flip_v, and transpose optional parameters |✔️| |✔️ with compat| |✔️| GH-84660
======================================================================================================================== =================== ==================== ==================== ===========
XR
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
WebXRInterface
Method get_input_source_tracker changes return type from XRPositionalTracker to XRControllerTracker |✔️| |❌| |✔️| GH-90645
XRServer
Method get_tracker changes return type from XRPositionalTracker to XRTracker |✔️| |❌| |❌| GH-90645
======================================================================================================================== =================== ==================== ==================== ===========
Editor plugins
======================================================================================================================== =================== ==================== ==================== ===========
Change GDScript Compatible C# Binary Compatible C# Source Compatible Introduced
======================================================================================================================== =================== ==================== ==================== ===========
EditorInspectorPlugin
Method add_property_editor adds a new label optional parameter |✔️| |✔️ with compat| |✔️| GH-92322
EditorPlugin
Method add_control_to_bottom_panel adds a new shortcut optional parameter |✔️| |✔️ with compat| |✔️| GH-88081
Method add_control_to_dock adds a new shortcut optional parameter |✔️| |✔️ with compat| |✔️| GH-88081
EditorSceneFormatImporterFBX
Type renamed to EditorSceneFormatImporterFBX2GLTF |❌| |❌| |❌| GH-81746
======================================================================================================================== =================== ==================== ==================== ===========
Behavior changes
In 4.3 some behavior changes have been introduced, which might require you to adjust your project.
Core
Animation
More information about the changes to Animation can be found in the Migrating Animations from Redot 4.0 to 4.3 article.