Atualizando do Godot 4.1 para o Godot 4.2

Para a maioria dos jogos e aplicativos feitos com a versão 4.1, deve ser relativamente seguro migrar para a versão 4.2. Esta página tem a intenção de cobrir tudo o que você precisa para prestar atenção ao migrar seu projeto.

Breaking changes

Se você estiver migrando da versão 4.1 para a 4.2, as alterações significativas listadas aqui podem afetá-lo. As alterações são agrupadas por áreas/sistemas.

Aviso

O formato de recurso Mesh mudou na versão 4.2 para permitir compressão de vértices e atributos. Isso possibilita uma melhora no desempenho de renderização, especialmente em plataformas limitadas pela largura de banda da memória, como dispositivos móveis.

Ainda é possível carregar os formatos Mesh do Godot 4.0-4.1, mas não é possível carregar o formato Mesh do Godot 4.2 em versões anteriores do Godot. Ao abrir um projeto Godot criado com uma versão anterior à 4.2, você poderá ver uma caixa de diálogo de atualização com duas opções:

  • Reiniciar e Atualizar: Atualiza o formato de malha para todas as malhas do projeto e salva o resultado em disco. Uma vez selecionada, esta opção impede o downgrade do projeto para uma versão do Godot anterior à 4.2. Configure um sistema de controle de versão e envie suas alterações antes de escolher esta opção!

  • Somente Atualização: Atualiza o formato da malha na memória sem gravá-lo em disco. Isso permite fazer downgrade do projeto para uma versão do Godot anterior à 4.2, caso seja necessário no futuro. A desvantagem é que o carregamento do projeto será mais lento a cada vez, pois o formato da malha precisa ser atualizado sempre que o projeto for carregado. Esses tempos de carregamento mais longos também afetarão o projeto exportado. A quantidade e complexidade dos recursos da malha determinam o quanto os tempos de carregamento são afetados.

Se esta caixa de diálogo não aparecer, use Projeto > Ferramentas > Atualizar Superfícies de Malhas… na parte superior do editor.

Este artigo indica se cada alteração drástica afeta o GDScript e se a alteração drástica do C# é compatível com o binário ou compatível com o código-fonte:

  • Compatível com binários - Os binários existentes serão carregados e executados com sucesso sem recompilação, e o comportamento em tempo de execução não mudará.

  • Compatível com a fonte - O código fonte será compilado com sucesso, sem alterações, ao atualizar o Godot.

Componentes Principais

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

Node

Constante NOTIFICATION_NODE_RECACHE_REQUESTED removida

✔️

GH-84419

Animação

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

AnimationPlayer

Método _post_process_key_value movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método add_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método advance movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Sinal animation_finished movido para a classe base AnimationMixer

✔️

GH-80813

Sinal animation_started movido para a classe base AnimationMixer

✔️

GH-80813

Sinal animation_libraries_updated movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Sinal animation_list_changed movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade audio_max_polyphony movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Sinal caches_cleared movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método clear_caches movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método find_animation movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método find_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_library_list movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_animation_list movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método has_animation movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método has_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade method_call_mode renomeada para callback_mode_method e movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade playback_active renomeada para active e movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade playback_process_mode renomeada para callback_mode_process e movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método remove_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método rename_animation_library movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade reset_on_save movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade root_node movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método set_reset_on_save_enabled movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

O método seek adiciona um novo parâmetro opcional update_only

✔️

✔️

✔️

GH-80813

AnimationTree

Método _post_process_key_value movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade active movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método advance movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Sinal animation_finished movido para a classe base AnimationMixer

✔️

GH-80813

Sinal animation_started movido para a classe base AnimationMixer

✔️

GH-80813

Propriedade audio_max_polyphony movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_position movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_position_accumulator movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_rotation movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_rotation_accumulator movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_scale movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Método get_root_motion_scale_accumulator movido para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade process_callback renomeada para callback_mode_process e movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

Propriedade root_motion_track movida para a classe base AnimationMixer

✔️

✔️

✔️

GH-80813

A propriedade tree_root altera o tipo de AnimationNode para AnimationRootNode

✔️

GH-80813

GUI nodes

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

PopupMenu

O método add_icon_shortcut adiciona um novo parâmetro opcional allow_echo

✔️

✔️

✔️

GH-36493

O método add_shortcut adiciona um novo parâmetro opcional allow_echo

✔️

✔️

✔️

GH-36493

O método clear adiciona um novo parâmetro opcional free_submenus

✔️

✔️

✔️

GH-79965

RichTextLabel

Adicionados novos parâmetros opcionais key, pad, tooltip e size_in_percent ao método add_image

✔️

✔️

✔️

GH-80410

Renderização

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

ImporterMesh

Alterado o tipo do parâmetro flags do método add_surface de uint32 para uint64

✔️

✔️

✔️

GH-81138

Alterado o tipo de retorno do método get_surface_format de uint32 para uint64

✔️

GH-81138

MeshDataTool

Adicionado novo parâmetro opcional compression_flags ao método commit_to_surface

✔️

✔️

✔️

GH-81138

Alterado o tipo de retorno do método get_format de uint32 para uint64

✔️

GH-81138

RenderingDevice

O campo Enum BarrierMask.BARRIER_MASK_RASTER altera o valor de 1 para 9

✔️

✔️

✔️

GH-79911

O campo Enum BarrierMask.BARRIER_MASK_ALL_BARRIERS altera o valor de 7 para 32767

✔️

✔️

✔️

GH-79911

O campo Enum BarrierMask.BARRIER_MASK_NO_BARRIER altera o valor de 8 para 32768

✔️

✔️

✔️

GH-79911

Adicionado novo parâmetro opcional placeholder_rid ao método shader_create_from_bytecode

✔️

✔️

✔️

GH-79606

Alterado o tipo de retorno do método shader_get_vertex_input_attribute_ask de uint32 para uint64

✔️

GH-81138

SurfaceTool

Alterado o tipo do parâmetro flags do método commit de uint32 para uint64

✔️

✔️

✔️

GH-81138

Text

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

Fonte

Método set_fallbacks substituído pela propriedade fallbacks

✔️

GH-78266

Método get_fallbacks substituído pela propriedade fallbacks

✔️

GH-78266

Adicionado novos parâmetros opcionais spacing_top, spacing_bottom, spacing_space e spacing_glyph ao método find_variation

✔️

✔️

✔️

GH-80954

GraphEdit

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

GraphEdit

Propriedade arrange_nodes_button_hidden renomeada para show_arrange_button

✔️

✔️

GH-81582

Método get_zoom_hbox renomeado para get_menu_hbox

✔️

✔️

GH-79308

Propriedade snap_distance renomeada para snapping_distance

✔️

✔️

GH-79308

Propriedade use_snap renomeada para snapping_enabled

✔️

✔️

GH-79308

GraphNode

Propriedade comment removida

GH-79307

Sinal close_request renomeado para delete_request e movido para a classe base GraphElement

✔️

✔️

GH-79311

Propriedade draggable movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Propriedade draggable movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Sinal dragged movido para a classe 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

Propriedade language removida

GH-79311

Sinal node_deselected movido para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Sinal node_selected movido para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Propriedade overlay removida

GH-79311

Propriedade position_offset movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Sinal position_offset_changed movido para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Sinal raise_request movido para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Propriedade resizable movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Sinal resize_request movido para a classe base GraphElement

✔️

GH-79311

Propriedade selectable movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Propriedade selected movida para a classe base GraphElement

✔️

✔️

✔️

GH-79311

Propriedade show_close removida

GH-79311

Propriedade text_direction removida

GH-79311

TileMap

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

TileMap

Propriedade cell_quadrant_size renomeada para rendering_quadrant_size

✔️

✔️

GH-81070

XR

Change

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduced

XRInterface

Propriedade environment_blend_mode adicionada

✔️

GH-81561

Nota

Essa alteração quebra a compatibilidade em C# porque a nova propriedade entra em conflito com o nome de uma enumeração existente e o gerador de vinculações C# dá prioridade às propriedades, então o tipo de enumeração foi renomeado de EnvironmentBlendMode para EnvironmentBlendModeEnum.