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.3 para o Godot 4.4

Para a maioria dos jogos e aplicativos feitos com a versão 4.3, deve ser relativamente seguro migrar para a 4.4. Esta página tem como objetivo cobrir tudo o que você precisa observar ao migrar seu projeto.

Alterações incompatíveis

Se você estiver migrando da 4.3 para a 4.4, as mudanças incompatíveis listadas aqui podem afetá-lo. As alterações estão agrupadas por áreas/sistemas.

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 em nível binário - Binários existentes serão carregados e executados com sucesso sem recompilação, e o comportamento em tempo de execução não será alterado.

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

Componentes Principais

Mudança

Compatível com GDScript

Compatível com C# Binário

Compatível com fonte C#

Introduzido

FileAccess

Método open_encrypted adiciona um novo parâmetro opcional iv

✔️

✔️

✔️

GH-98918

Método store_8 altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_16 altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_32 altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_64 altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_buffer altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_csv_line altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_double altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_float altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_half altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_line altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_pascal_string altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_real altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_string altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

Método store_var altera o tipo de retorno de void para bool

✔️

✔️

GH-78289

OS

Método execute_with_pipe adiciona um novo parâmetro opcional blocking

✔️

✔️

✔️

GH-94434

O método read_string_from_stdin adiciona um novo parâmetro buffer_size [1]

✔️

✔️

GH-91201

RegEx

Método compile adiciona um novo parâmetro opcional show_error

✔️

✔️

✔️

GH-95212

Método create_from_string adiciona um novo parâmetro opcional show_error

✔️

✔️

✔️

GH-95212

Semaphore

Método post adiciona um novo parâmetro opcional count

✔️

✔️

✔️

GH-93605

TranslationServer

Método standardize_locale adiciona um novo parâmetro opcional add_defaults

✔️

✔️

✔️

GH-98972

Export annotations (Anotações de exportação)

Aviso

The behavior of @export_file changed in Godot 4.4. When assigning a new value from the Inspector, the path is now stored and returned as a uid:// reference instead of the traditional res:// path (GH-97912). This is a breaking change and may cause issues if you're expecting res://-based paths in scripts or serialized files.

Por exemplo, arrays exportados de arquivos agora podem conter uma mistura de caminhos uid:// e res://, especialmente se eles foram parcialmente editados no Inspetor.

In 4.4, the only way to retain the res:// format is to manually edit the .tscn or .tres files in a text editor. Starting in Godot 4.5, a new annotation @export_file_path can be used to explicitly retain the old behavior and export raw res:// paths.

Nós de GUI

Mudança

Compatível com GDScript

Compatível com C# Binário

Compatível com fonte C#

Introduzido

Texto Formatado

Método push_meta adiciona um novo parâmetro opcional tooltip

✔️

✔️

✔️

GH-99481

Método set_table_column_expand adiciona um novo parâmetro opcional shrink

✔️

✔️

✔️

GH-101482

GraphEdit

Método connect_node adiciona um novo parâmetro opcional keep_alive

✔️

✔️

✔️

GH-97449

Sinal frame_rect_changed altera o tipo do parâmetro new_rect de Vector2 para Rect2

GH-102796

Física

Mudança

Compatível com GDScript

Compatível com C# Binário

Compatível com fonte C#

Introduzido

SoftBody3D

Método set_point_pinned adiciona um novo parâmetro opcional insert_at

✔️

✔️

✔️

GH-94684

Renderização

Mudança

Compatível com GDScript

Compatível com C# Binário

Compatível com fonte C#

Introduzido

CPUParticles2D

Método restart adiciona um novo parâmetro opcional keep_seed

✔️

✔️

✔️

GH-92089

CPUParticles3D

Método restart adiciona um novo parâmetro opcional keep_seed

✔️

✔️

✔️

GH-92089

GPUParticles2D

Método restart adiciona um novo parâmetro opcional keep_seed

✔️

✔️

✔️

GH-92089

GPUParticles3D

Método restart adiciona um novo parâmetro opcional keep_seed

✔️

✔️

✔️

GH-92089

Dispositivo de Renderização

Método draw_list_begin adiciona um novo parâmetro opcional breadcrumb

✔️

✔️

✔️

GH-90993

O método draw_list_begin remove muitos parâmetros

✔️

✔️

GH-98670

Método index_buffer_create adiciona um novo parâmetro opcional enable_device_address

✔️

✔️

✔️

GH-100062

Método uniform_buffer_create adiciona um novo parâmetro opcional enable_device_address

✔️

✔️

✔️

GH-100062

Método vertex_buffer_create adiciona um novo parâmetro opcional enable_device_address

✔️

✔️

✔️

GH-100062

Dispositivo de Servidor

Método multimesh_allocate_data adiciona um novo parâmetro opcional use_indirect

✔️

✔️

✔️

GH-99455

Shader

Método get_default_texture_parameter altera o tipo de retorno de Texture2D para Texture

✔️

GH-95126

Método set_default_texture_parameter altera o tipo do parâmetro texture de Texture2D para Texture

✔️

✔️

GH-95126

VisualShaderNodeCubemap

Propriedade cube_map altera o tipo de Cubemap para TextureLayered

✔️

GH-95126

VisualShaderNodeTexture2DArray

Propriedade texture_array altera o tipo de Texture2DArray para TextureLayered

✔️

GH-95126

Nota

No C#, o enum RenderingDevice.StorageBufferUsage quebra a compatibilidade por causa da maneira como o gerador de vínculos (bindings generator) detecta o prefixo do enum. Novos membros foram adicionados ao enum em GH-100062, o que fez com que os membros do enum fossem renomeados.

Plugins do editor

Mudança

Compatível com GDScript

Compatível com C# Binário

Compatível com fonte C#

Introduzido

Interface do Editor

Método open_scene_from_path adiciona um novo parâmetro opcional set_inherited

✔️

✔️

✔️

GH-90057

Método popup_node_selector adiciona um novo parâmetro opcional current_value

✔️

✔️

✔️

GH-94323

Método popup_property_selector adiciona um novo parâmetro opcional current_value

✔️

✔️

✔️

GH-94323

EditorSceneFormatImporter

Método _get_import_flags removido

GH-101531

EditorTranslationParserPlugin

O método _parse_file altera o tipo de retorno para Array e remove os parâmetros msgids e msgids_context_plural

GH-99297

Nota

O método _get_import_flags nunca foi usado pela engine. Ele foi removido apesar da quebra de compatibilidade, já que não havia como os usuários dependerem disso para afetar o comportamento da engine.

Mudanças de comportamento

Componentes Principais

Nota

O recurso Curve agora aplica seu intervalo de valores, portanto, min_value e max_value precisam ser alterados se algum dos pontos estiver fora do intervalo padrão [0, 1].

Renderização

Nota

O nó de shader VisualShaderNodeVec4Constant teve seu tipo de entrada alterado para Vector4. Os usuários precisam recriar os valores em suas constantes.

CSG

Nota

A implementação de CSG agora utiliza a biblioteca Manifold de Emmett Lalish (GH-94321). A nova implementação é mais consistente com as definições de manifold e corrige vários bugs e problemas de estabilidade. Como resultado, malhas não-manifold não são mais suportadas. Você pode usar MeshInstance3D para renderizar geometria não-manifold, como quads ou planos.

Android

Nota

Os eventos de sensores no Android não são mais habilitados por padrão (GH-94799). Projetos que utilizam eventos de sensores podem habilitá-los conforme necessário nas Configurações do Projeto, em Dispositivos de Entrada > Sensores.