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 migrating your project.
Cambios importantes
If you are migrating from 4.3 to 4.4, the breaking changes listed here might affect you. Changes are grouped by areas/systems.
Este artículo indica si cada cambio significativo afecta a GDScript y si el cambio significativo en C# es compatible binario o compatible con el código fuente:
Binary compatible - Existing binaries will load and execute successfully without recompilation, and the run-time behavior won't change.
Compatible con el código fuente: el código fuente se compila correctamente sin ningún cambio al actualizar Godot.
Núcleo
Cambio |
Compatibilidad con GDScript |
Compatible con binarios C# |
Compatible con código fuente C# |
Introducido |
|---|---|---|---|---|
Acceso a archivos |
||||
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 |
✔️ |
Export annotations
Advertencia
El comportamiento de @export_file cambió en Godot 4.4. Al asignar un nuevo valor desde el Inspector, la ruta ahora se almacena y se devuelve como una referencia uid:// en lugar de la ruta res:// tradicional (GH-97912). Este es un cambio importante y puede causar problemas si espera rutas basadas en res:// en scripts o archivos serializados.
Por ejemplo, las matrices de archivos exportadas ahora pueden contener una combinación de rutas uid:// y res://, especialmente si se editaron parcialmente en el Inspector.
En la versión 4.4, la única forma de conservar el formato res:// es editar manualmente los archivos .tscn o .tres en un editor de texto. A partir de Godot 4.5, se puede usar la nueva anotación @export_file_path para conservar explícitamente el comportamiento anterior y exportar rutas res:// sin formato.
Nodos GUI
Cambio |
Compatibilidad con GDScript |
Compatible con binarios C# |
Compatible con código fuente C# |
Introducido |
|---|---|---|---|---|
RichTextLabel |
||||
El método |
✔️ |
|||
El método |
✔️ |
|||
GraphEdit |
||||
El método |
✔️ |
|||
La señal |
❌ |
❌ |
❌ |
Física
Cambio |
Compatibilidad con GDScript |
Compatible con binarios C# |
Compatible con código fuente C# |
Introducido |
|---|---|---|---|---|
SoftBody3D |
||||
Method |
✔️ |
Renderizado
Cambio |
Compatibilidad con GDScript |
Compatible con binarios C# |
Compatible con código fuente C# |
Introducido |
|---|---|---|---|---|
CPUParticles2D |
||||
Method |
✔️ |
|||
CPUParticles3D |
||||
Method |
✔️ |
|||
GPUParticles2D |
||||
Method |
✔️ |
|||
GPUParticles3D |
||||
Method |
✔️ |
|||
RenderingDevice |
||||
Method |
✔️ |
|||
Method |
❌ |
|||
Method |
✔️ |
|||
Method |
✔️ |
|||
Method |
✔️ |
|||
RenderingServer |
||||
Method |
✔️ |
|||
Shader |
||||
Method |
✔️ |
❌ |
❌ |
|
Method |
✔️ |
❌ |
✔️ |
|
VisualShaderNodeCubemap |
||||
Property |
✔️ |
❌ |
❌ |
|
VisualShaderNodeTexture2DArray |
||||
Property |
✔️ |
❌ |
❌ |
Nota
In C#, the enum RenderingDevice.StorageBufferUsage breaks compatibility because of the way the bindings generator
detects the enum prefix. New members where added in GH-100062 to the enum that caused the enum members to be renamed.
Plugins del editor
Cambio |
Compatibilidad con GDScript |
Compatible con binarios C# |
Compatible con código fuente C# |
Introducido |
|---|---|---|---|---|
EditorInterface |
||||
Method |
✔️ |
|||
Method |
✔️ |
|||
Method |
✔️ |
|||
EditorSceneFormatImporter |
||||
Method |
❌ |
❌ |
❌ |
|
EditorTranslationParserPlugin |
||||
El método |
❌ |
❌ |
❌ |
Nota
El motor nunca utilizó el método _get_import_flags. Se eliminó a pesar de la falla de compatibilidad, ya que los usuarios no podían confiar en que afectara el comportamiento del motor.
Cambios de comportamiento
Núcleo
Nota
El recurso Curve ahora aplica su rango de valores, por lo que min_value y max_value deben cambiarse si alguno de los puntos queda fuera del rango predeterminado [0, 1].
Renderizado
Nota
Se cambió el tipo de entrada del nodo sombreador VisualShaderNodeVec4Constant a Vector4. Los usuarios deben recrear los valores de sus constantes.
CSG
Nota
La implementación de CSG ahora utiliza la biblioteca Manifold de Emmett Lalish (GH-94321). Esta nueva implementación es más consistente con las definiciones de manifold y corrige varios errores y problemas de estabilidad. Como resultado, ya no se admiten mallas no manifold. Puede usar MeshInstance3D para renderizar geometría no manifold, como cuadriláteros o planos.
Android
Nota
Los eventos de sensor de Android ya no están habilitados de forma predeterminada (GH-94799). Los proyectos que usan eventos de sensor pueden habilitarlos según sea necesario en la configuración del proyecto, en Dispositivos de entrada > Sensores.