Upgrading from Godot 4.5 to Godot 4.6
For most games and apps made with 4.5 it should be relatively safe to migrate to 4.6. This page intends to cover everything you need to pay attention to when migrating your project.
Breaking changes
If you are migrating from 4.5 to 4.6, 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 run-time behavior won't change.
Source compatible - Source code will compile successfully without changes when upgrading Godot.
Jądro
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
FileAccess |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Wydajność |
||||
Method |
✔️ |
✔️ |
✔️ |
Animacja
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
AnimationPlayer |
||||
Property |
✔️ |
❌ |
❌ |
|
Property |
✔️ |
❌ |
❌ |
|
Property |
✔️ |
❌ |
❌ |
|
Method |
✔️ |
❌ |
❌ |
|
Signal |
✔️ |
❌ |
❌ |
3D
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
SpringBoneSimulator3D |
||||
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
Renderowanie
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
DisplayServer |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
GUI nodes
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
Control |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
FileDialog |
||||
Method |
✔️ |
✔️ |
✔️ |
|
LineEdit |
||||
Method |
✔️ |
✔️ |
✔️ |
|
SplitContainer |
||||
Method |
✔️ |
✔️ |
✔️ |
Sieć
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
StreamPeerTCP |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
❌ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
TCPServer |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
OpenXR
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
OpenXRExtensionWrapper |
||||
Method |
❌ |
❌ |
❌ |
|
Method |
ND. |
ND. |
ND. |
Informacja
The OpenXRExtensionWrapper type is intended to be subclassed from GDExtensions. The method _set_instance_create_info_and_get_next_pointer
has a void* parameter so it's not exposed to scripting.
Edytor
Zmiana |
GDScript Compatible |
C# Binary Compatible |
C# Source Compatible |
Wprowadzona |
|---|---|---|---|---|
EditorExportPreset |
||||
Method |
✔️ |
❌ |
❌ |
|
EditorFileDialog |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
❌ |
❌ |
❌ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Method |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
❌ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
❌ |
✔️ |
|
Property |
✔️ |
❌ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
❌ |
✔️ |
|
Signal |
✔️ |
❌ |
✔️ |
|
Signal |
✔️ |
❌ |
✔️ |
|
Signal |
✔️ |
❌ |
✔️ |
Behavior changes
Android
Informacja
The source sets configuration for Android export templates has been updated to match the default Android Studio project structure (GH-110829). This affects the directory layout of the Android project:
Files previously in
[Project root]/android/build/src/are now in[Project root]/android/build/src/main/java/.Android manifest file and assets directory have been moved to
src/main/subdirectories.
For example, GodotApp.java moved from src/com/godot/game/GodotApp.java to
src/main/java/com/godot/game/GodotApp.java.
Renderowanie
Informacja
Soft Light blend mode now always behaves as it did previously with use_hdr_2d, regardless of
the Viewport's use_hdr_2d setting (GH-109971).
Changed defaults
The following default values have been changed. If your project relies on the previous defaults, you may need to explicitly set them to the old values.
Informacja
The default rendering driver on Windows for newly created projects is now D3D12 (GH-113213).
This can be changed in Project Settings under rendering/rendering_device/driver.windows.
Informacja
The default 3D physics engine for newly created projects is now Jolt Physics (GH-105737).
This can be changed in Project Settings under physics/3d/physics_engine.
3D
Member |
Old Value |
New Value |
Wprowadzona |
|---|---|---|---|
MeshInstance3D |
|||
Property |
NodePath("..") |
NodePath("") |
Informacja
The default value of skeleton has changed. Enable animation/compatibility/default_parent_skeleton_in_mesh_instance_3d in Project Settings
if the old behavior is needed for compatibility.
Renderowanie
Member |
Old Value |
New Value |
Wprowadzona |
|---|---|---|---|
ProjectSettings |
|||
Property |
8 |
7 |
|
Property |
613 |
618 |
|
Environment |
|||
Property |
2 |
1 |
|
Property |
0.8 |
0.3 |
|
Property |
0.0 |
0.8 |
|
Property |
1.0 |
0.4 |
|
Property |
0.0 |
0.1 |
|
Property |
1.0 |
0.0 |
|
Property |
0.2 |
0.5 |
GUI nodes
Property/Parameter |
Old Value |
New Value |
Wprowadzona |
|---|---|---|---|
PopupMenu |
|||
Property |
0.3 |
0.2 |
|
ResourceImporterCSVTranslation |
|||
Property |
true |
1 |