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.

Mise à niveau de Godot 4.3 vers Godot 4.4

Pour la plupart des jeux et applications fabriqués en 4.3, il devrait être relativement sûr de migrer en 4.4. Cette page a l'intention de couvrir tout ce dont vous avez besoin de faire attention à lors de la migration de votre projet.

Changements incompatibles

Si vous migrez de la 4.3 à la 4.4, les changements cassants énumérés ici pourraient vous affecter. Les changements sont regroupés par zones/systèmes.

This article indicates whether each breaking change affects GDScript and whether the C# breaking change is binary compatible or source compatible:

  • Binary compatible - Existing binaries will load and execute successfully without recompilation, and the run-time behavior won't change.

  • Compatible source - Le code source compilera avec succès sans changement lors de la mise à niveau de Godot.

Core

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

FileAccess

La méthode open_encrypted ajoute un nouveau paramètre optionnel iv

✔️

✔️

✔️

GH-98918

La méthode store_8 change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_16 change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_32 change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_64 change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_buffer change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_csv_line change de type de renvoi de void en bool

✔️

✔️

GH-78289

La méthode store_double change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_float change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_half change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_line change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_pascal_string change de type de renvoi de void en bool

✔️

✔️

GH-78289

La méthode store_real change de type de retour de void en bool

✔️

✔️

GH-78289

La méthode store_string change de type de renvoi de void en bool

✔️

✔️

GH-78289

La méthode store_var change de type de retour de void en bool

✔️

✔️

GH-78289

OS

La méthode execute_with_pipe ajoute un nouveau paramètre optionnel blocking

✔️

✔️

✔️

GH-94434

La méthode read_string_from_stdin ajoute un nouveau paramètre buffer_size [1]

✔️

✔️

GH-91201

RegEx

La méthode compile ajoute un nouveau paramètre optionnel show_error

✔️

✔️

✔️

GH-95212

La méthode create_from_string ajoute un nouveau paramètre optionnel show_error

✔️

✔️

✔️

GH-95212

Semaphores

La méthode post ajoute un nouveau paramètre optionnel count

✔️

✔️

✔️

GH-93605

TranslationServer

La méthode standardize_locale ajoute un nouveau paramètre optionnel add_defaults

✔️

✔️

✔️

GH-98972

Exporte les annotations

Avertissement

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.

For example, exported arrays of files may now contain a mix of uid:// and res:// paths, especially if they were partially edited in the Inspector.

Dans la version 4.4, le seul moyen de garder le format res:// format est d'éditer manuellement les fichiers .tscn ou .tres dans un éditeur de texte. À partir de Godot 4.5, une nouvelle annotation @export_file_path peut être utilisée pour garder explicitement l'ancien comportement et exporter des chemins res:// bruts.

Nœuds GUI

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

RichTextLabel

La méthode push_meta ajoute un nouveau paramètre optionnel tooltip

✔️

✔️

✔️

GH-99481

La méthode set_table_column_expand ajoute un nouveau paramètre optionnel shrink

✔️

✔️

✔️

GH-101482

GraphEdit

La méthode connect_node ajoute un nouveau paramètre optionnel keep_alive

✔️

✔️

✔️

GH-97449

Le signal frame_rect_changed change le type du paramètre de new_rect de Vector2 en Rect2

GH-102796

Physique

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

SoftBody3D

La méthode set_point_pinned ajoute un nouveau paramètre optionnel insert_at

✔️

✔️

✔️

GH-94684

Rendu

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

CPUParticles2D

La méthode restart ajoute un nouveau paramètre optionnel keep_seed

✔️

✔️

✔️

GH-92089

CPUParticles3D

La méthode restart ajoute un nouveau paramètre optionnel keep_seed

✔️

✔️

✔️

GH-92089

GPUParticles2D

La méthode restart ajoute un nouveau paramètre optionnel keep_seed

✔️

✔️

✔️

GH-92089

GPUParticles3D

La méthode restart ajoute un nouveau paramètre optionnel keep_seed

✔️

✔️

✔️

GH-92089

RenderingDevice

La méthode draw_list_begin ajoute un nouveau paramètre optionnel breadcrumb

✔️

✔️

✔️

GH-90993

La méthode draw_list_begin retire de nombreux paramètres

✔️

✔️

GH-98670

La méthode index_buffer_create ajoute un nouveau paramètre optionnel enable_device_address

✔️

✔️

✔️

GH-100062

La méthode uniform_buffer_create ajoute un nouveau paramètre optionnel enable_device_address

✔️

✔️

✔️

GH-100062

La méthode vertex_buffer_create ajoute un nouveau paramètre optionnel enable_device_address

✔️

✔️

✔️

GH-100062

RenderingServer

La méthode multimesh_allocate_data ajoute un nouveau paramètre optionnel use_indirect

✔️

✔️

✔️

GH-99455

Shader

La méthode get_default_texture_parameter change de type de retour de Texture2D en Texture

✔️

GH-95126

La méthode set_default_texture_parameter change le type du paramètre texture de Texture2D en Texture

✔️

✔️

GH-95126

VisualShaderNodeCubemap

La propriété cube_map change de type, de Cubemap à TextureLayered

✔️

GH-95126

VisualShaderNodeTexture2DArray

La propriété texture_array change de type, de Texture2DArray` à TextureLayered

✔️

GH-95126

Note

En C#, l'énumération RenderingDevice.StorageBufferUsage casse la compatibilité en raison de la façon dont le générateur de liaisons détecte le préfixe enum. De nouveaux membres ont été ajoutés dans GH-100062 à l’énumération, ce qui a forcé les membres de l'énumération à être renommés.

Extensions pour l'éditeur

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

EditorInterface

La méthode open_scene_from_path ajoute un nouveau paramètre optionnel set_inherited

✔️

✔️

✔️

GH-90057

La méthode popup_node_selector ajoute un nouveau paramètre optionnel current_value

✔️

✔️

✔️

GH-94323

La méthode popup_property_selector ajoute un nouveau paramètre optionnel current_value

✔️

✔️

✔️

GH-94323

EditorSceneFormatImporter

Méthode _get_import_flags supprimée

GH-101531

EditorTranslationParserPlugin

La méthode _parse_file change le type de renvoi à Array et supprime les paramètres msgids et msgids_context_plural

GH-99297

Note

La méthode _get_import_flags n'était jamais utilisée par le moteur. Elle a été supprimée malgré la rupture de compatibilité car il n'y a aucun moyen pour les utilisateurs de s'appuyer sur ce comportement affectant le moteur.

Changements de comportement

Core

Note

The Curve resource now enforces its value range, so min_value and max_value need to be changed if any of the points fall outside of the default [0, 1] range.

Rendu

Note

The VisualShaderNodeVec4Constant shader node had its input type changed to Vector4. Users need to recreate the values in their constants.

CSG

Note

The CSG implementation now uses Emmett Lalish's Manifold library (GH-94321). The new implementation is more consistent with manifold definitions and fixes a number of bugs and stability issues. As a result, non-manifold meshes are no longer supported. You can use MeshInstance3D for rendering non-manifold geometry, such as quads or planes.

Android

Note

Les événements de capteur Android ne sont plus activés par défaut (GH-94799). Les projets qui utilisent des événements de capteurs peuvent leur activer selon les besoins dans les paramètres de projet sous Périphériques d'entrée > Capteurs.