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.

Jeu en mode intégré

Godot prend en charge de manière optionnelle d'exécuter le jeu dans l'éditeur lui-même. Ceci est activé par défaut.

Note

Votre jeu s'exécute toujours dans un processus distinct, peu importe le mode d'exécution intégrée utilisé. Cela signifie que si votre jeu plante, l'éditeur ne plantera pas de son côté.

Configuration du jeu en mode intégré

Le jeu en mode intégré peut être dans un état parmi trois :

  • Fenêtre flottante (par défaut) : Le jeu s'exécute dans une fenêtre séparée avec une barre de menus en haut de celle-ci vous permettant d'ajuster certains paramètres et de sélectionner les noeuds de votre choix. Cliquer sur le Game dans l'éditeur affiche à nouveau cette fenêtre au premier plan.

  • Fenêtre principale : Le jeu s'exécute dans l'éditeur avec une barre de menus spécifique qui vous permet d'ajuster certains paramètres et de sélectionner les noeuds de votre choix. Cliquer sur le Game dans l'éditeur permet d'afficher l'onglet dédié exécutant le jeu.

  • Désactivé : Le jeu s'exécute dans une fenêtre séparée comme s'il s'agissait d'un projet exporté. Il n'y a aucune barre de menus présente et vous ne pouvez pas sélectionner de noeuds dans la fenêtre correspondante.

Pour configurer cette fonctionnalité, cliquez sur l'onglet Jeu en haut de l'écran dans l'éditeur :

Comment accéder à votre jeu en mode intégré

Comment accéder à votre jeu en mode intégré

Once on the Game main screen, click the dropdown menu in the top-right corner of the Game bar:

Menu de paramétrage du jeu en mode intégré

Menu de paramétrage du jeu en mode intégré

Deux options sont disponibles pour configurer l'exécution du jeu en mode intégré :

  • Exécuter en mode intégré la prochaine fois : Si activé, le jeu s'exécutera en mode intégré au prochain lancement et la barre de menus sera disponible.

  • Fenêtre flottante à la prochaine exécution en mode intégré : Si activé, le jeu s'exécutera en mode intégré via une fenêtre flottante, sinon le jeu s'exécutera dans l'éditeur.

Dimensions de la fenêtre de jeu intégré

Comme le montre le menu déroulant à droite de la barre de menus dans la fenêtre de jeu intégré, plusieurs choix sont disponibles pour en configurer la taille et son comportement lorsque celle-ci change. Ces choix affectent autant le jeu intégré dans la fenêtre flottante que dans l'éditeur lui-même :

  • Fixed Size (default): Set the viewport size to a fixed resolution, as configured in the Project Settings. If both display/window/size/window_width_override and display/window/size/window_height_override are set above 0, this override is used instead.

  • Préserver le ratio : L'espace dans lequel le jeu s'affiche s'étire pour correspondre à la taille de la fenêtre, mais toujours en préservant le ratio width / height défini dans les paramètres du projet.

  • Redimensionnement ajusté : L'espace d'affichage s'étire pour correspondre à la taille de la fenêtre avec un ratio qui peut être différent du ratio width / height défini dans les paramètres du projet. Il s'agit du comportement utilisé lorsque le jeu en mode intégré est désactivé.

Ces options n'ont pas d'effet lorsque le jeu en mode intégré est désactivé.

Fonctionnalités

Lorsque le jeu en mode intégré est activé, plusieurs paramètres peuvent être ajustés pendant l'exécution via la barre de menus en haut de la fenêtre.

Barre de menus en haut de la fenêtre de jeu en mode intégré

Barre de menus en haut de la fenêtre de jeu en mode intégré

De gauche à droite :

Pause (F9)

Mettre en pause l'exécution du jeu / reprendre l'exécution du jeu. Lorsque l'exécution du jeu est en pause, aucun processus physique, ni aucune trame d'inactivité ne sont calculés par le jeu. Cela vous permet de sélectionner des noeuds dans la scène et d'en vérifier les propriétés depuis l'éditeur pendant l'exécution du jeu.

Trame suivante (F10)

Uniquement disponible lorsque le jeu est en pause. Permet d'avancer l'exécution du jeu d'une trame afin de vérifier son état à un moment bien précis dans le temps. Peut être utilisé pour vérifier l'état des interactions rapides (comme les collisions) qui sont insaisissables lorsque le jeu s'exécute à vitesse normale.

Vitesse du jeu

Cette option permet d'ajuster la vitesse d'exécution du jeu. Si le jeu définit la propriété Engine.time_scale à l'exécution, sa valeur sera multipliée par l'option définie ici.

Modifier la vitesse d'exécution du jeu depuis la barre de menus

Modifier la vitesse d'exécution du jeu depuis la barre de menus

Idéal pour réaliser des tests à vitesse réduite, ou pour accélérer l'exécution du jeu et tester des éléments qui prendraient normalement beaucoup de temps.

Le bouton de réinitialisation à droite de la liste déroulante permet de réinitialiser le jeu à la vitesse normale (1.0x).

Astuce

Lorsque vous modifiez la vitesse d'exécution du jeu grâce à cette option, la fréquence de rafraîchissement des processus physiques (définie par la propriété physics/common/physics_ticks_per_second dans les paramètres du projet) est multipliée automatiquement par la vitesse du jeu. Cela permet à la logique du jeu de s'exécuter à une vitesse différente sans affecter les éléments physiques. Par exemple :

  • Si la vitesse d'exécution du jeu est définie sur 0.5, la fréquence de rafraîchissement des éléments physiques sera réduite de moitié.

  • Si la vitesse d'exécution du jeu est définie sur 4.0, la fréquence de rafraîchissement des éléments physiques sera également multipliée par 4.

La propriété nombre maximum d'étapes physiques calculées par trame est également augmentée pour s'aligner sur le taux de rafraîchissement des éléments physiques mais ne sera pas diminuée en-dessous de la valeur par défaut même en exécutant le jeu à vitesse réduite.

Interaction mode

This controls the behavior when clicking or pressing keys while the embedded game window has focus.

  • Input (default): Allow game input as usual.

  • 2D: Disable game input and allow selecting Node2Ds, Controls, and manipulating the 2D camera.

  • 3D: Disable game input and allow selecting Node3Ds and manipulating the 3D camera.

Nodes that are selected in the 2D and 3D modes can be inspected in the editor's inspector, just like if they were selected in the editor. This allows you to inspect and modify properties of nodes in the running game.

Avertissement

Like in the Remote scene tree, changes made to the running game this way are not preserved when the game is stopped.

To make changes that are preserved after stopping the game, you need to select the nodes in the editor's Local scene tree and modify them from there while the game is running instead. Make sure Debug > Synchronize Scene Changes is enabled when doing this.

Select mode

Only effective if the interaction mode is 2D or 3D, not Input.

When enabling this option, the "show list of selectable nodes at position clicked" mode is disabled. However, you can still perform this action in select mode by using Ctrl + Alt + Right mouse button at the desired location.

Show list of selectable nodes at position clicked

Only effective if the interaction mode is 2D or 3D, not Input.

Like in the editor, this shows a list of selectable nodes at the position clicked. This is useful when multiple nodes are overlapping and you want to select a specific one. When enabling this option, select mode is disabled.

Toggle selection visibility

Only effective if the interaction mode is 2D or 3D, not Input.

By default, the selected node in 2D or 3D interaction mode is highlighted with an orange rectangle or box (like in the editor).

When this option is enabled, it appears as a closed eye icon. Future selections will not be highlighted in the game view, but are still selected for inspection in the inspector. This is useful to avoid visual clutter.

Selection advanced options

Two advanced options are available in the dropdown menu next to the select mode icons:

  • Don't Select Locked Nodes: When enabled, nodes that are locked in the editor cannot be selected. This mimics editor behavior.

  • Select Group over Children: When enabled, grouped nodes are selected instead of their individual children. This mimics editor behavior.

Mute game audio

This mutes game audio when enabled, without affecting the editor or other applications. This is particularly useful on macOS and Android, which do not come with a per-application volume slider out of the box.

Camera override

When enabled, the camera stops following the game camera. You can then move the 2D/3D camera freely by switching to the 2D/3D interaction mode and using the typical navigation controls:

  • In the 2D interaction mode, use the middle mouse button (or Space + Left mouse button) to pan around and the mouse wheel to zoom.

  • In the 3D interaction mode, hold the right mouse button and press W, A, S, and D to use freelook. Use the middle mouse button to orbit, Shift + Middle mouse button to pan, and the mouse wheel to zoom. Additionally, you can use Ctrl + Minus, Ctrl + Plus, and Ctrl + 0 to control the field of view (relative to the game's own camera FOV).

This is useful to inspect parts of the scene that are not visible from the game camera's point of view, or to inspect the game camera itself. When the camera override is disabled, the camera will snap back to the game camera's point of view.

When disabling camera override, the overridden camera's position and rotation are not reset. This allows you to quickly toggle back and forth between the game camera and the overridden camera.

Note

If the camera override appears to be non-interactive, make sure to be in the 2D or 3D interaction mode. The camera override will keep working while in the Input interaction mode, but you won't be able to move the overridden camera while in that mode (unless using the Manipulate From Editors camera override mode as described below).

When overriding the 2D/3D camera, the project's scripts are not aware of this camera override. Keep this in mind when inspecting properties that depend on the camera position, as they will account for the original camera position instead.

Camera override options

  • Reset 2D/3D Camera: Resets the 2D/3D camera to the position and rotation defined by the game. Note that the camera will still be frozen in place until you disable camera override.

  • Manipulate In-Game (default): The camera override is controlled from the game window. This allows controlling the camera without needing to switch back to the editor.

  • Manipulate From Editors: The camera override is controlled from the editor window. This can be useful on multi-monitor setups where the editor can be displayed side-by-side with the running project. Also, when using this option, the camera override position can be remembered across project runs, since it will reuse the editor camera position directly when enabled.

Note

The camera override may appear less smooth while using the Manipulate From Editors camera override mode, as a result of using local network communication between the editor and the game to update the camera position.

Limites

Le jeu en mode intégré a certaines limitations à savoir :

  • In the Android editor, game embedding always uses a floating window. By default, the floating window is kept on top of the editor using Android's picture-in-picture functionality. This behavior can be disabled in the Game bar by unchecking Keep on Top using PiP in the menu on the right of the Game bar.

  • Window mode changes (e.g. fullscreen) are not supported when using game embedding.

  • When Debug > Customize Run Instances... is used to enable running with multiple instances, only the first instance will use game embedding. Other instances will spawn in their own windows, without the Game bar at the top.