Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Upgrade von Godot 4.1 auf Godot 4.2¶
Für die meisten Spiele und Anwendungen, die mit 4.1 entwickelt wurden, sollte es relativ sicher sein, auf 4.2 zu migrieren. Diese Seite soll alles abdecken, worauf Sie bei der Migration Ihres Projekts achten müssen.
Änderungen, die etwas kaputtmachen können¶
Wenn Sie von 4.1 auf 4.2 migrieren, könnten Sie von den hier aufgeführten Änderungen betroffen sein. Die Änderungen sind nach Bereichen/Systemen gruppiert.
Warnung
Das Mesh-Ressourcenformat hat sich in 4.2 geändert, um eine Vertex- und Attributkompression zu ermöglichen. Dies ermöglicht eine verbesserte Rendering-Leistung, insbesondere auf Plattformen mit eingeschränkter Speicherbandbreite, wie z.B. auf mobilen Geräten.
Es ist immer noch möglich, die Godot 4.0-4.1 Mesh-Formate zu laden, aber es ist nicht möglich, das Godot 4.2 Mesh-Format in früheren Godot-Versionen zu laden. Wenn Sie ein Godot-Projekt öffnen, das mit einer Version vor 4.2 erstellt wurde, wird möglicherweise ein Upgrade-Dialog angezeigt, der zwei Optionen bietet:
Neustart & Upgrade: Aktualisiert das Mesh-Format für alle Meshes im Projekt und speichert das Ergebnis auf der Festplatte. Einmal gewählt, verhindert diese Option ein Downgrade des Projekts auf eine Godot-Version vor 4.2. Richten Sie ein Versionsverwaltungssystem ein und pushen Sie Ihre Änderungen vor der Auswahl dieser Option!
Nur Upgrade: Aktualisiert das Meshformat im Speicher, ohne es auf die Festplatte zu schreiben. Dies ermöglicht ein Downgrade des Projekts auf eine Godot-Version, die älter als 4.2 ist, falls Sie dies in Zukunft benötigen. Der Nachteil ist, dass das Laden des Projekts jedes Mal langsamer wird, da das Mesh-Format jedes Mal aktualisiert werden muss, wenn das Projekt geladen wird. Diese längeren Ladezeiten wirken sich auch auf das exportierte Projekt aus. Die Anzahl und Komplexität der Mesh-Ressourcen bestimmt, wie stark die Ladezeiten beeinflusst werden.
Wenn dieser Dialog nicht erscheint, verwenden Sie Projekt > Tools > Mesh-Oberflächen aktualisieren... oben im Editor.
Dieser Artikel gibt an, ob die einzelnen Änderungen GDScript betreffen und ob die C#-Änderung binärkompatibel oder quelltextkompatibel ist:
Binärkompatibel - Vorhandene Binärdateien werden ohne Neukompilierung erfolgreich geladen und ausgeführt, und das Laufzeitverhalten ändert sich nicht.
Quellcodekompatibel - Der Quellcode wird beim Upgrade von Godot ohne Änderungen erfolgreich kompiliert.
Kern¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
Node |
||||
Konstante |
❌ |
✔️ |
❌ |
Animation¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
AnimationPlayer |
||||
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
❌ |
❌ |
|
Signal |
✔️ |
❌ |
❌ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
AnimationTree |
||||
Methode |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
❌ |
❌ |
|
Signal |
✔️ |
❌ |
❌ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
❌ |
❌ |
GUI-Nodes¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
PopupMenu |
||||
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
RichTextLabel |
||||
Methode |
✔️ |
✔️ |
✔️ |
Rendern¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
ImporterMesh |
||||
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
❌ |
❌ |
|
MeshDataTool |
||||
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
❌ |
❌ |
|
RenderingDevice |
||||
Enum-Feld |
✔️ |
✔️ |
✔️ |
|
Enum-Feld |
✔️ |
✔️ |
✔️ |
|
Enum-Feld |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
✔️ |
✔️ |
|
Methode |
✔️ |
❌ |
❌ |
|
SurfaceTool |
||||
Methode |
✔️ |
✔️ |
✔️ |
Text¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
Font |
||||
Methode |
✔️ |
❌ |
❌ |
|
Methode |
✔️ |
❌ |
❌ |
|
Methode |
✔️ |
✔️ |
✔️ |
GraphEdit¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
GraphEdit |
||||
Property |
❌ |
✔️ |
✔️ |
|
Methode |
❌ |
✔️ |
✔️ |
|
Property |
❌ |
✔️ |
✔️ |
|
Property |
❌ |
✔️ |
✔️ |
|
GraphNode |
||||
Property |
❌ |
❌ |
❌ |
|
Signal |
❌ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Methode |
❌ |
❌ |
❌ |
|
Property |
❌ |
❌ |
❌ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Property |
❌ |
❌ |
❌ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Signal |
✔️ |
❌ |
❌ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
✔️ |
✔️ |
✔️ |
|
Property |
❌ |
❌ |
❌ |
|
Property |
❌ |
❌ |
❌ |
TileMap¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
TileMap |
||||
Property |
❌ |
✔️ |
✔️ |
XR¶
Veränderung |
GDScript- kompatibel |
C#-binär- kompatibel |
C#-quellcode- kompatibel |
Eingeführt in |
---|---|---|---|---|
XRInterface |
||||
Property |
✔️ |
❌ |
❌ |
Bemerkung
Diese Änderung führt zu einem Kompatibilitätsbruch in C#, da die neue Property mit dem Namen eines existierenden Enum kollidiert und der C# Binding-Generator den Propertys Priorität einräumt. Daher wurde der Enum-Typ von EnvironmentBlendMode
in EnvironmentBlendModeEnum
umbenannt.