Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

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

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

Node

Constante NOTIFICATION_NODE_RECACHE_REQUESTED removida

✔️

GH-84419

Animação

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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

Texto Formatado

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

✔️

✔️

✔️

GH-80410

Renderização

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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

Dispositivo de Renderização

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

Ferramenta de Superfície

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

✔️

✔️

✔️

GH-81138

Text

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

TileMap

Propriedade cell_quadrant_size renomeada para rendering_quadrant_size

✔️

✔️

GH-81070

Realidade Aumentada (XR)

Mudança

GDScript Compatible

Compatível com C# Binário

Compatível com fonte C#

Introduzido

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.