Up to date

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

Mise à niveau de Godot 4.1 à Godot 4.2

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

Breaking changes

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

Avertissement

Le format de ressource Mesh a changé en 4.2 pour permettre la compression de sommet et d'attribut. Cela permet d'améliorer les performances de rendu, en particulier sur les plateformes contraintes par la bande passante de la mémoire comme les plateformes mobile.

Il est encore possible de charger les formats de Mesh Godot 4.0-4.1, mais il est impossible de charger le format Mesh Godot 4.2 dans les versions antérieures de Godot. Lors de l'ouverture d'un projet Godot réalisé avec une version avant la 4.2, vous pouvez être présenté avec un dialogue de mise à niveau qui offre deux options :

  • Redémarrer & Mettre à jour : Met à jour le format de maillage pour tous les maillages dans le projet et sauvegarde le résultat sur le disque. Une fois choisie, cette option empêche la dégradation du projet vers une version Godot avant 4.2. Définissez un système de contrôle de version et poussez vos changements avant de choisir cette option !

  • ** Mise à jour seulement :** Met à jour le format de maillage en mémoire sans l'écrire sur le disque. Cela permet de réduire le projet à une version Godot plus ancienne que 4.2 si vous devez le faire à l'avenir. Le désavantage est que le chargement du projet sera plus lent à chaque fois car le format de maillage doit être amélioré à chaque fois que le projet est chargé. Ces temps de chargement accrus affecteront également le projet exporté. Le nombre et la complexité des ressources de Mesh déterminent comment les temps de chargement sont affectés.

Si cette boîte de dialogue n'apparaît pas, utilisez Projet > Outils > Mise à jour des surfaces de maillage en haut de l'éditeur.

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

  • Compatible binaire - Les binaires existants vont charger et exécuter avec succès sans recompilation, et le comportement lors de l'exécution ne changera pas.

  • 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é

Nœuds :

Constante NOTIFICATION_NODE_RECACHE_REQUESTED supprimée

✔️

GH-84419

Animation

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

AnimationPlayer

La méthode _post_process_key_value a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode add_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode advance a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

Le signal animation_finished a été déplacé dans la classe parente AnimationMixer`

✔️

GH-80813

Le signal animation_started a été déplacé dans la classe parente AnimationMixer

✔️

GH-80813

Le signal animation_libraries_updated a été déplacé dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

Le signal animation_list_changed a été déplacé dans la classe parente AnimationMixer`

✔️

✔️

✔️

GH-80813

La propriété audio_max_polyphony a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

Le signal caches_cleared a été déplacé dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode clear_caches a été déplacé dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode find_animation a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode find_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_animation a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_animation_library_list a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_animation_list a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode has_animation a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode has_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété method_call_mode a été renommée callback_mode_method et déplacé dans la classe parente AnimationMixer

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-80813

La propriété playback_active a été renommée en active et déplacée dans la classe parente AnimationMixer

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-80813

La propriété playback_process_mode a été renommée callback_mode_process et déplacée dans la classe parente AnimationMixer

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-80813

La méthode remove_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode rename_animation_library a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété reset_on_save a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété root_node a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode set_reset_on_save_enabled a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode seek ajoute un nouveau paramètre optionnel update_only

✔️

|✔️ avec compatibilité|

✔️

GH-80813

AnimationTree

La méthode _post_process_key_value a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété active a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode advance a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

Le signal animation_finished a été déplacé dans la classe parente AnimationMixer`

✔️

GH-80813

Le signal animation_started a été déplacé dans la classe parente AnimationMixer

✔️

GH-80813

La propriété audio_max_polyphony a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_position a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_position_accumulator a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_rotation a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_rotation_accumulator a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_scale a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La méthode get_root_motion_scale_accumulator a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété process_callback` a été renommée callback_mode_process et déplacée dans la classe parente AnimationMixer

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-80813

La propriété root_motion_track a été déplacée dans la classe parente AnimationMixer

✔️

✔️

✔️

GH-80813

La propriété tree_root change de type de AnimationNode à AnimationRootNode

✔️

GH-80813

Nœuds GUI

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

PopupMenu

La méthode add_icon_shortcut ajoute un nouveau paramètre optionnel allow_echo

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-36493

La méthode add_shortcut ajoute un nouveau paramètre optionnel allow_echo

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-36493

La méthode clear ajoute un nouveau paramètre optionnel free_submenus

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-79965

RichTextLabel

La méthode add_image ajoute les paramètres optionnels key, pad, tooltip et size_in_percent

✔️

|✔️ avec compatibilité|

✔️

GH-80410

Rendu

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

ImporterMesh

La méthode add_surface change le type de paramètre flags de uint32 à uint64

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-81138

La méthode get_surface_format change de type de retour de uint32 à uint64

✔️

GH-81138

MeshDataTool

La méthode commit_to_surface ajoute un nouveau paramètre optionnel compression_flags

✔️

|✔️ avec compatibilité|

✔️

GH-81138

La méthode get_format change de type de retour de uint32 à uint64

✔️

GH-81138

RenderingDevice

Le champ d'énumération BarrierMask. BARRIER_MASK_RASTER change de valeur de 1 à 9

✔️

✔️

✔️

GH-79911

Le champ d'énumération BarrierMask.BARRIER_MASK_ALL_BARRIERS change de valeur de 7 à 32767

✔️

✔️

✔️

GH-79911

Le champ d'énumération BarrierMask.BARRIER_MASK_NO_BARRIER change de valeur de 8 à 32768

✔️

✔️

✔️

GH-79911

La méthode shader_create_from_bytecode ajoute un nouveau paramètre optionnel placeholder_rid

✔️

|✔️ avec compatibilité|

✔️

GH-79606

La méthode shader_get_vertex_input_attribute_ask change de type de retour de uint32 à uint64

✔️

GH-81138

SurfaceTool

La méthode commit change le type de paramètre flags de uint32 à uint64

✔️

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-81138

Texte

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

Font

La méthode set_fallbacks a été remplacée par la propriété fallbacks

✔️

GH-78266

La méthode get_fallbacks a été remplacée par la propriété fallbacks

✔️

GH-78266

La méthode find_variation ajoute de nouveaux paramètres optionnels spacing_top, spacing_bottom, spacing_space et spacing_glyph

✔️

|✔️ avec compatibilité|

✔️

GH-80954

GraphEdit

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

GraphEdit

Propriété arrange_nodes_button_hidden renommée en show_arrange_button

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-81582

Méthode get_zoom_hbox renommée en get_menu_hbox

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-79308

Propriété snap_distance renommée en snapping_distance

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-79308

Propriété use_snap renommée en snapping_enabled

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-79308

GraphNode

Propriété``comment`` retirée

GH-79307

Le signal close_request a été renommé delete_request et déplacé dans la classe parente GraphElement

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-79311

La propriété draggable a été déplacée dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

La propriété draggable a été déplacée dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

Le signal dragged a été déplacée dans la classe parente GraphElement

✔️

GH-79311

Méthode``get_connection_input_color`` retirée

GH-79311

Méthode``get_connection_input_count`` retirée

GH-79311

Méthode``get_connection_input_height`` retirée

GH-79311

Méthode``get_connection_input_position`` retirée

GH-79311

Méthode``get_connection_input_slot`` retirée

GH-79311

Méthode get_connection_input_type retirée

GH-79311

Méthode``get_connection_output_color`` retirée

GH-79311

Méthode get_connection_output_count retirée

GH-79311

Méthode``get_connection_output_height`` retirée

GH-79311

Méthode get_connection_output_position retirée

GH-79311

Méthode get_connection_output_slot retirée

GH-79311

Méthode get_connection_output_type retirée

GH-79311

Propriété language retirée

GH-79311

Le signal node_deselected a été déplacé dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

Le signal node_selected a été déplacé dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

Propriété overlay retirée

GH-79311

La propriété position_offset a été déplacée dans la classe de base GraphElement

✔️

✔️

✔️

GH-79311

Le signal position_offset_changed dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

Le signal raise_request a été déplacée dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

La propriété resizable a déplacée dans la classe de base GraphElement

✔️

✔️

✔️

GH-79311

Le signal resize_request a été déplacée dans la classe parente GraphElement

✔️

GH-79311

La propriété selectable a été déplacée dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

La propriété selected a été déplacée dans la classe parente GraphElement

✔️

✔️

✔️

GH-79311

Propriété show_close retirée

GH-79311

Propriété``text_direction`` retirée

GH-79311

TileMap

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

TileMap

Propriété cell_quadrant_size renommée en rendering_quadrant_size

|✔️ avec compatibilité|

|✔️ avec compatibilité|

GH-81070

XR

Modifications

Compatible GDScript

Compatible binaire C#

Compatible source C#

Intégré

XRInterface

Propriété environment_blend_mode ajoutée

✔️

GH-81561

Note

Ce changement casse la compatibilité en C# parce que la nouvelle propriété est en conflit avec le nom d'une énumération existante et le générateur de liaisons C# donne la priorité aux propriétés, donc le type de l'énumération a été renommé de EnvironmentBlendMode à EnvironmentBlendModeEnum.