Upgrading from Godot 4.0 to Godot 4.1

For most games and apps made with 4.0, it should be relatively safe to migrate to 4.1. This page intends to cover everything you need to pay attention to when migrating your project.

Breaking changes

If you are migrating from 4.0 to 4.1, the breaking changes listed here might affect you. Changes are grouped by areas/systems.

Warning

The GDExtension API completely breaks compatibility in 4.1, so it's not included in the table below. See the Updating your GDExtension for 4.1 section for more information.

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 run-time behavior won't change.

  • Source compatible - Source code will compile successfully without changes when upgrading Godot.

Core

Change

GDScript Compatible

C# Binary Compatible

C# Source Compatible

Introduced

Basis

Method looking_at adds a new use_model_front optional parameter

✔️

✔️

✔️

GH-76082

Object

Method get_meta_list changes return type from PackedStringArray to Array[StringName]

✔️

GH-76418

Transform3D

Method looking_at adds a new use_model_front optional parameter

✔️

✔️

✔️

GH-76082

UndoRedo

Method create_action adds a new backward_undo_ops optional parameter

✔️

✔️

✔️

GH-76688

WorkerThreadPool

Method wait_for_task_completion changes return type from void to Error

✔️

✔️

GH-77143

Animation

Change

GDScript Compatible

C# Binary Compatible

C# Source Compatible

Introduced

AnimationNode

Method _process adds a new test_only parameter

GH-75759

Method blend_input adds a new test_only optional parameter

✔️

✔️

✔️

GH-75759

Method blend_node adds a new test_only optional parameter

✔️

✔️

✔️

GH-75759

AnimationNodeStateMachinePlayback

Method get_travel_path changes return type from PackedStringArray to Array[StringName]

✔️

GH-76418

2D nodes

Change

GDScript Compatible

C# Binary Compatible

C# Source Compatible

Introduced

PathFollow2D

Property lookahead removed

GH-72842

3D nodes

Change

GDScript Compatible

C# Binary Compatible

C# Source Compatible

Introduced

Geometry3D

Method segment_intersects_convex changes planes parameter type from untyped Array to Array[Plane]

✔️

✔️

GH-76418

MeshInstance3D

Method create_multiple_convex_collisions adds a new settings optional parameter

✔️

✔️

✔️

GH-72152

Node3D

Method look_at adds a new use_model_front optional parameter

✔️

✔️

✔️

GH-76082

Method look_at_from_position adds a new use_model_front optional parameter

✔️

✔️

✔️

GH-76082

GUI nodes

Change

GDScript Compatible

C# Binary Compatible

C# Source Compatible

Introduced

CodeEdit

Method add_code_completion_option adds a new location optional parameter

✔️

✔️

✔️

GH-75746

RichTextLabel

Method push_list adds a new bullet optional parameter

✔️

✔️