Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Migrando desde Godot 4.1 a Godot 4.2

Para la mayoría de los juegos y aplicaciones creados con 4.1, debería ser relativamente seguro migrar a 4.2. Esta página pretende cubrir todo lo que necesita prestar atención al migrar su proyecto.

Cambios importantes

Si está migrando de 4.1 a 4.2, los cambios importantes que se enumeran aquí podrían afectarle. Los cambios se agrupan por áreas/sistemas.

Advertencia

El formato de recurso Mesh ha cambiado en la versión 4.2 para permitir compresión de vertices y atributos. Esto permite mejorar el rendimiento del renderizado, especialmente sobre plataformas limitadas por ancho de banda de memoria tales como los teléfonos móviles.

Todavía es posible cargar los formatos Mesh de Godot4.0-4.1, pero no es posible cargar el formato Mesh de Godot 4.2 en versiones previas de Godot. Cuando abrimos un proyecto de Godot hecho con una versión previa a 4.2, deberías presenciar un dialogo de migración que ofrece dos opciones:

  • Reiniciar y Actualizar: Actualiza el formato mesh para todos los meshes en el proyecto y guarda el resultado en el disco. Una vez seleccionado, esta opción previene actualizar el proyecto a versiones previas de Godot 4.2. Configura un sistema de control de versiones y sube tus cambios antes de seleccionar esta opción!

  • Actualizar solamente: Actualiza el formato mesh en-memoria sin escribirlo en el disco. Esto permite actualizar el proyecto a versiones de Godot más antiguas que la 4.2 si necesitas hacerlo en el futuro. La desventaja es que la carga del proyecto será cada vez más lenta ya que el formato mesh debe actualizarse cada vez que se carga el proyecto. Estos incrementos en los tiempos de carga también afectarán al proyecto exportado. La cantidad y la complejidad de los recursos Mesh determinan en cuánto se ven afectados los tiempos de carga.

Si el diálogo no aparece, use Proyecto > Herramientas > Actualizar Superficies Mesh… en la parte superior del editor.

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:

  • Compatible con binarios - Los binarios existentes se cargarán y ejecutarán con éxito sin recompilación, y el comportamiento en tiempo de ejecución no cambiará.

  • 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

Node

Constante NOTIFICATION_NODE_RECACHE_REQUESTED removida

✔️

GH-84419

Animación

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

AnimationPlayer

Método _post_process_key_value movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Métdo add_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método advance movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Señal animation_finished movido a la clase base AnimationMixer

✔️

GH-80813

Señal animation_started movido a la clase base AnimationMixer

✔️

GH-80813

Señal animation_libraries_updated movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Señal animation_list_changed movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad audio_max_polyphony movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Señal caches_cleared movida a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método clear_caches movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método find_animation movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método find_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_library_list movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_list movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método has_animation movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método has_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad method_call_mode renombrada a callback_mode_method y movida a la clase base AnimationMixer

✔️

|✔️ compatible|

|✔️ compatible|

GH-80813

Propiedad playback_active renombrada a active y movida a la clase base ``AnimationMixer`

✔️

|✔️ compatible|

|✔️ compatible|

GH-80813

Propiedad playback_process_mode renombrada a callback_mode_process y movida a la clase base AnimationMixer

✔️

|✔️ compatible|

|✔️ compatible|

GH-80813

Método remove_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método rename_animation_library movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad reset_on_save movida a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad root_node movida a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método set_reset_on_save_enabled movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

El método seek agrega un nuevo parámetro opcional update_only

✔️

|✔️ compatible|

✔️

GH-80813

AnimationTree

Método _post_process_key_value movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad active movida a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método advance movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Señal animation_finished movido a la clase base AnimationMixer

✔️

GH-80813

Señal animation_started movido a la clase base AnimationMixer

✔️

GH-80813

Propiedad audio_max_polyphony movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_position movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_position_accumulator movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_rotation movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_rotation_accumulator movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_scale movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_scale_accumulator movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

La propiedad process_callback renombrada a callback_mode_process y movida a la clase base AnimationMixer

✔️

|✔️ compatible|

|✔️ compatible|

GH-80813

Propiedad root_motion_track movido a la clase base AnimationMixer

✔️

✔️

✔️

GH-80813

Propiedad tree_root cambia el tipo de AnimationNode a AnimationRootNode

✔️

GH-80813

Nodos GUI

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

PopupMenu

Método add_icon_shortcut agrega un nuevo parámetro opcional allow_echo

✔️

|✔️ compatible|

|✔️ compatible|

GH-36493

Método add_shortcut agrega un nuevo parámetro opcional allow_echo

✔️

|✔️ compatible|

|✔️ compatible|

GH-36493

Método clear añade nuevo parámetro opcional free_submenus

✔️

|✔️ compatible|

|✔️ compatible|

GH-79965

RichTextLabel

Método add_image agrega nuevos parámetros opcionales key, pad, tooltip, y size_in_percent

✔️

|✔️ compatible|

✔️

GH-80410

Renderización

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

ImporterMesh

Método add_surface cambia el tipo del parámetro flags de uint32 a uint64

✔️

|✔️ compatible|

|✔️ compatible|

GH-81138

Método get_surface_format cambia el tipo de retorno de uint32 a uint64

✔️

GH-81138

MeshDataTool

Método commit_to_surface agrega un nuevo parámetro opcional compression_flags

✔️

|✔️ compatible|

✔️

GH-81138

Método get_format``cambia el tipo de retorno de ``uint32 a uint64

✔️

GH-81138

RenderingDevice

Campo enum BarrierMask.BARRIER_MASK_RASTER cambia su valor de 1 a 9

✔️

✔️

✔️

GH-79911

Campo enum BarrierMask.BARRIER_MASK_ALL_BARRIERS cambia su valor de 7 a 32767

✔️

✔️

✔️

GH-79911

Campo enum BarrierMask.BARRIER_MASK_NO_BARRIER cambia su valor de 8 a 32768

✔️

✔️

✔️

GH-79911

Método shader_create_from_bytecode agrega un nuevo parámetro opcional placeholder_rid

✔️

|✔️ compatible|

✔️

GH-79606

Método shader_get_vertex_input_attribute_ask cambia el tipo de retorno de uint32 a uint64

✔️

GH-81138

SurfaceTool

Método commit cambia el tipo del parámetro flags de uint32 a uint64

✔️

|✔️ compatible|

|✔️ compatible|

GH-81138

Text

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

Fuente

Método set_fallbacks reemplazado con la propiedad fallbacks

✔️

GH-78266

método get_fallbacks reemplazado con la propiedad fallbacks

✔️

GH-78266

Método find_variation agrega nuevos parámetros opcionales spacing_top, spacing_bottom, spacing_space, y spacing_glyph

✔️

|✔️ compatible|

✔️

GH-80954

GraphEdit

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

GraphEdit

Propiedad arrange_nodes_button_hidden renombrada a show_arrange_button

|✔️ compatible|

|✔️ compatible|

GH-81582

Método get_zoom_hbox renombrado a get_menu_hbox

|✔️ compatible|

|✔️ compatible|

GH-79308

Propiedad snap_distance renombrada a snapping_distance

|✔️ compatible|

|✔️ compatible|

GH-79308

Propiedad use_snap renombrada a snapping_enabled

|✔️ compatible|

|✔️ compatible|

GH-79308

GraphNode

Propiedad comment removida

GH-79307

Señal close_request renombrada a delete_request y movida a la clase base GraphElement

|✔️ compatible|

|✔️ compatible|

GH-79311

Propiedad draggable movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Propiedad draggable movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Señal dragged movida a la clase base GraphElement

✔️

GH-79311

Método get_connection_input_color removido

GH-79311

Método get_connection_input_count removido

GH-79311

Método get_connection_input_height removido

GH-79311

Método get_connection_input_position removido

GH-79311

Método get_connection_input_slot removido

GH-79311

Método get_connection_input_type removido

GH-79311

Método get_connection_output_color removido

GH-79311

Método get_connection_output_count removido

GH-79311

Método get_connection_output_height removido

GH-79311

Método get_connection_output_position removido

GH-79311

Método get_connection_output_slot removido

GH-79311

Método get_connection_output_type removido

GH-79311

Propiedad language removida

GH-79311

Señal node_deselected movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Señal node_selected movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Propiedad overlay removida

GH-79311

Propiedad position_offset movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Señal position_offset_changed movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Señal raise_request movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Propiedad resizable movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Señal resize_request movida a la clase base GraphElement

✔️

GH-79311

Propiedad selectable movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Propiedad selected movida a la clase base GraphElement

✔️

✔️

✔️

GH-79311

Propiedad show_close removida

GH-79311

Propiedad text_direction removida

GH-79311

TileMap

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

TileMap

Propiedad cell_quadrant_size renombrada a rendering_quadrant_size

|✔️ compatible|

|✔️ compatible|

GH-81070

XR

Cambio

Compatibilidad con GDScript

Compatible con binarios C#

Compatible con código fuente C#

Introducido

XRInterface

Propiedad environment_blend_mode agregada

✔️

GH-81561

Nota

Estos cambios rompen la compatibilidad en C# porque la nueva propiedad entra en conflicto con el nombre de un enum existente y el generador de enlaces de C# da prioridad a las propiedades, por lo tanto el tipo enum fue renombrada de EnvironmentBlendMode a EnvironmentBlendModeEnum.