Utiliser Visual Studio Tools pour Unity

Dans cette section, vous allez apprendre à utiliser les fonctionnalités d’intégration et de productivité de Visual Studio Tools pour Unity, ainsi qu’à utiliser le débogueur Visual Studio pour le développement Unity.

Ouvrir des scripts Unity dans Visual Studio

Une fois Visual Studio défini comme éditeur externe pour Unity, le fait de double-cliquer sur un script à partir de l’éditeur Unity lance ou passe automatiquement à Visual Studio et ouvre le script choisi.

Vous pouvez aussi lancer Visual Studio sans ouvrir de script dans l’éditeur de code source, en sélectionnant le menu Ressources > Ouvrir un projet C# dans Unity.

Screenshot of the Open C# project in Visual Studio.

Screenshot of the Open C# project in Visual Studio for Mac.

Accès à la documentation Unity

Vous pouvez accéder rapidement à la documentation sur les scripts Unity à partir de Visual Studio. Si Visual Studio Tools pour Unity ne trouve pas la documentation de l'API en local, il la recherche en ligne.

  • Dans Visual Studio, placez le curseur sur l’API Unity pour laquelle vous souhaitez obtenir des informations ou sélectionnez-la, puis appuyez sur Ctrl+Alt+M, Ctrl+H.
  • Vous pouvez également utiliser le menu Aide > Référence de l’API Unity au lieu de la combinaison de touches.

Screenshot of the Unity API Reference menu in Visual Studio.

  • Dans Visual Studio pour Mac, mettez en évidence ou placez le curseur sur l’API Unity sur laquelle vous voulez en savoir plus, puis appuyez sur Cmd+'
  • Vous pouvez également utiliser le menu Aide > Référence de l’API Unity au lieu de la combinaison de touches.

Screenshot of the Unity API Reference menu in Visual Studio for Mac.

IntelliSense pour les messages de l’API Unity

La saisie semi-automatique de code IntelliSense facilite l’implémentation de messages de l’API Unity dans des scripts MonoBehaviour ; par ailleurs, elle aide à découvrir l’API Unity. Pour utiliser IntelliSense pour les messages Unity :

  1. Placez le curseur sur une nouvelle ligne dans le corps d’une classe qui dérive de MonoBehaviour.

  2. Commencez à taper le nom d’un message Unity, par exemple, OnTriggerEnter.

  3. Une fois les lettres « ontri » tapées, une liste de suggestions IntelliSense apparaît.

Screenshot of using IntelliSense in Visual Studio.

  1. Vous pouvez changer la sélection dans la liste de trois façons :

    • Avec les flèches Haut et Bas.

    • En cliquant avec la souris sur l’élément souhaité.

    • En continuant de taper le nom de l’élément souhaité.

  2. IntelliSense peut insérer le message Unity sélectionné, y compris tous les paramètres nécessaires :

    • En appuyant sur Tab.

    • En appuyant sur ENTRÉE.

    • En double-cliquant sur l’élément sélectionné.

Screenshot of the Insert Unity message from IntelliSense in Visual Studio.

Assistant de script MonoBehavior d'Unity

Vous pouvez utiliser l’Assistant MonoBehavior pour afficher la liste de toutes les méthodes de l’API Unity et implémenter rapidement une définition vide. Cette fonctionnalité, en particulier avec l’option Générer des commentaires de méthode activée, est utile pour découvrir ce qui est disponible dans l’API Unity.

Pour créer des définitions de méthode MonoBehavior vides avec l’Assistant MonoBehavior :

  1. Dans Visual Studio, placez le curseur à l’endroit où vous souhaitez insérer les méthodes, puis appuyez sur Ctrl+Maj+M pour lancer l’Assistant MonoBehavior. Dans Visual Studio pour Mac, appuyez sur Cmd+Maj+M.

  2. Dans la fenêtre Créer des méthodes de script, cochez la case à côté du nom de chaque méthode que vous voulez ajouter.

  3. Utilisez la liste déroulante Version du framework pour sélectionner la version souhaitée.

  4. Par défaut, les méthodes sont insérées à l’endroit où se trouve le curseur. Vous pouvez également les placer après n’importe quelle méthode déjà implémentée dans votre classe en remplaçant la valeur de la liste déroulante Point d’insertion par l’emplacement souhaité.

  5. Si vous voulez que l’Assistant génère des commentaires pour les méthodes que vous avez sélectionnées, cochez la case Générer des commentaires de méthode. Ces commentaires ont pour but de vous aider à comprendre à quel moment la méthode est appelée et quelles sont ses responsabilités générales.

  6. Cliquez sur le bouton OK pour quitter l’Assistant et insérer les méthodes dans votre code.

Screenshot of the monobehavior wizard dialog in Visual Studio.

Screenshot of the monobehavior wizard dialog in Visual Studio for Mac.

Explorateur de projets de Unity

L’Explorateur de projets Unity affiche tous les fichiers projet et répertoires Unity de la même manière que l’éditeur Unity. Ce n’est pas la même chose que de parcourir les scripts Unity avec l’Explorateur de solutions normal de Visual Studio, qui les organise en projets et une solution générée par Visual Studio.

  • Dans le menu principal de Visual Studio, choisissez Affichage > Explorateur de projets Unity. Raccourci clavier : Alt+Maj+E

Screenshot of the Unity Project Explorer window.

  • Dans Visual Studio pour Mac, le Panneau Solutions se comporte automatiquement comme suit lorsqu’un projet Unity est ouvert.

Débogage Unity

Visual Studio Tools pour Unity vous permet de déboguer les scripts de l'éditeur et de jeu de votre projet Unity à l'aide du puissant débogueur de Visual Studio.

Déboguer dans l’éditeur Unity

Démarrer le débogage

  1. Connectez Visual Studio à Unity en cliquant sur le bouton Lire intitulé Attacher à Unity, ou utilisez le raccourci clavier F5.

Screenshot of the Attach to Unity button in Visual Studio.

  1. Connectez Visual Studio à Unity en cliquant sur le bouton Lire, ou appuyez sur Commande + Entrée ou F5.

Screenshot of the Play button in Visual Studio for Mac.

  1. Basculez sur Unity et cliquez sur le bouton Lire pour exécuter le jeu dans l’éditeur.

Screenshot of the Play button in Unity on Windows.

Screenshot of the Play button in Unity on macOS.

  1. Quand le jeu s’exécute dans l’éditeur Unity, tout en étant connecté à Visual Studio, les points d’arrêt rencontrés suspendent l’exécution du jeu et affichent la ligne de code concernée dans Visual Studio.

Arrêter le débogage

Cliquez sur le bouton Arrêter dans Visual Studio, ou utilisez le raccourci clavier Maj+F5.

Screenshot of the Stop button in Visual Studio.

Cliquez sur le bouton Arrêter dans Visual Studio pour Mac ou appuyez sur MAJ + Commande + Entrée.

Screenshot of the Stop button in Visual Studio for Mac.

Pour plus d’informations sur le débogage dans Visual Studio, consultez Documentation pour le premier aperçu du débogueur Visual Studio.

Attacher à Unity et lire

Pour plus de commodité, vous pouvez remplacer le bouton Attacher à Unity par le mode Attacher à Unity et lire.

  1. Cliquez sur la petite flèche vers le bas à côté du bouton Attacher à Unity.

  2. Sélectionnez Attacher à Unity et lire dans le menu déroulant.

    Screenshot of the Attach and play button in Visual Studio.

Le bouton Lire est à présent intitulé Attacher à Unity et lire. Ce bouton et le raccourci clavier F5 ont maintenant pour effet de basculer automatiquement vers l’éditeur Unity et d’exécuter le jeu dans l’éditeur, en plus d’attacher le débogueur Visual Studio.

Commencer le débogage et lire l’éditeur Unity sont des opérations qui peuvent être effectuées en une seule étape, directement à partir de Visual Studio pour Mac, en choisissant la configuration Attacher à Unity et lire.

Screenshot of the Attach to Unity and Play button in Visual Studio for Mac.

Note

Si vous avez démarré le débogage à l’aide de la configuration Attacher à Unity et lire, le bouton Arrêter permet également d’arrêter l’éditeur Unity.

Déboguer les builds des lecteurs Unity

Il est possible de déboguer les builds de développement des lecteurs Unity avec Visual Studio.

Activer le débogage de script dans un lecteur Unity

  1. Dans Unity, ouvrez les paramètres de build en sélectionnant Fichier > Paramètres de build.

  2. Dans la fenêtre Paramètres de build, cochez les cases Build de développement et Débogage de script.

    Screenshot of the Unity build settings for debugging.

Sélectionner une instance de Unity pour y attacher le débogueur

  • Dans le menu principal de Visual Studio, choisissez Déboguer > Attacher le débogueur Unity.

    Screenshot of the Attach Unity Debugging Window in Visual Studio.

    La boîte de dialogue Sélectionner l’instance Unity affiche des informations sur chaque instance Unity à laquelle vous pouvez vous connecter.

    Screenshot of the Choose an instance of Unity to connect to window in Visual Studio.

    Projet Nom du projet Unity qui s’exécute dans cette instance Unity.

    Machine Nom de l’ordinateur ou de l’appareil sur lequel cette instance Unity est en cours d’exécution.

    Type Éditeur si cette instance Unity est en cours d’exécution dans l’éditeur Unity ; Lecteur si cette instance Unity est un lecteur autonome.

    Port Numéro de port du socket UDP sur lequel communique cette instance Unity.

Important

Étant donné que les Outils Visual Studio pour Unity et l’instance Unity communiquent via un socket réseau UDP, votre pare-feu peut nécessiter une règle pour l’autoriser. Dans ce cas, une invite peut s’afficher. Vous devrez autoriser la connexion de telle sorte que VSTU et Unity puissent communiquer.

Sélection d’une instance Unity qui n’apparaît pas dans la liste

Si vous avez un lecteur Unity connu en cours d’exécution qui n’apparaît pas dans la liste, vous pouvez utiliser le bouton Entrée IP dans la fenêtre Sélectionner une instance Unity. Entrez l’adresse IP et le port du lecteur Unity en cours d’exécution pour connecter le débogueur.

Pour faciliter le débogage de ce lecteur sans entrer l’adresse IP et le port à chaque fois, activez le paramètre Utiliser les cibles de débogage enregistrées dans le menu Outils > Options > Outils pour Unity > Général.

Screenshot of the Use saved debug targets setting.

Visual Studio affiche les cibles de débogage enregistrées en tant qu’option via le bouton Attacher à Unity.

Screenshot of the Saved debug target setting.

  • Dans le menu supérieur de Visual Studio pour Mac, choisissez Exécuter > Attacher au processus.
  • Dans la boîte de dialogue Attacher au processus, sélectionnez l’option Débogueur Unity dans le menu déroulant Débogueur en bas.
  • Sélectionnez une instance Unity dans la liste, puis cliquez sur le bouton Attacher.

Déboguer une DLL dans votre projet Unity

De nombreux développeurs Unity écrivent des composants de code en tant que DLL externes afin que les fonctionnalités qu'ils développent puissent être facilement partagées avec d'autres projets. Visual Studio Tools pour Unity facilite le débogage du code dans ces DLL, sans heurt avec tout autre code de votre projet Unity.

Notes

À ce stade, Visual Studio Tools pour Unity prend uniquement en charge les DLL managées. Il ne gère pas le débogage des DLL de code natif, telles que celles écrites en C++.

Notez que le scénario décrit ici suppose que vous disposiez du code source, autrement dit, que vous développiez ou réutilisez votre propre code tiers, ou que vous ayez le code source d'une bibliothèque tierce et que vous prévoyiez de le déployer dans votre projet Unity en tant que DLL. Ce scénario ne décrit pas le débogage d'une DLL pour laquelle vous n'avez pas le code source.

Pour déboguer un projet DLL managée utilisé dans votre projet Unity

  1. Ajoutez votre projet DLL existant à la solution Visual Studio générée par Visual Studio Tools pour Unity. Moins couramment, vous pouvez aussi démarrer un nouveau projet de DLL managée pour qu'il contienne les composants de code de votre projet Unity ; si tel est le cas, vous pouvez à la place ajouter un nouveau projet DLL managée à la solution Visual Studio.

    Screenshot of the Add > Existing Item menu.

    Dans les deux cas, Visual Studio Tools pour Unity conserve la référence de projet, même s'il doit régénérer les fichiers projet et solution ; par conséquent, vous ne devez effectuer ces étapes qu'une seule fois.

  2. Référencez le bon profil du framework Unity dans le projet DLL. Dans Visual Studio, dans les propriétés du projet DLL, définissez la propriété Framework cible avec la version du Framework Unity que vous utilisez. Il s'agit de la bibliothèque des classes de base Unity qui correspond à la compatibilité d'API ciblée par votre projet, comme les bibliothèques de classes de base Unity complètes, micro ou web. De cette façon, votre DLL ne peut pas appeler les méthodes du framework qui existent dans d'autres frameworks ou niveaux de compatibilité, mais qui n'existent peut-être pas dans la version du framework Unity que vous utilisez.

Notes

Ce qui suit n’est requis que si vous utilisez le runtime hérité d’Unity. Si vous utilisez le nouveau runtime Unity, vous n’avez plus besoin d’utiliser ces profils 3.5 dédiés. Utilisez un profil 4.x .NET compatible avec votre version d’Unity.

Screenshot of the selecting target framework for a project in Visual Studio.

  1. Copiez la DLL dans le dossier Composants de votre projet Unity. Dans Unity, les composants désignent les fichiers regroupés et déployés au même titre que votre application Unity afin de pouvoir être chargés au moment de l'exécution. Comme les DLL sont liées à l’exécution, elles doivent être déployées en tant que composants. Pour que la DLL soit déployée comme composant, l'éditeur Unity requiert que les DLL soient placées dans le dossier Composants de votre projet Unity. Il existe deux façons de procéder :

    • Modifier les paramètres de génération de votre projet DLL pour inclure une tâche post-génération qui copie les fichiers DLL et PDB résultants de son dossier de sortie vers le dossier Composants de votre projet Unity.

    • Modifier les paramètres de génération de votre projet DLL pour définir son dossier de sortie comme dossier Composants de votre projet Unity. Les fichiers DLL et PDB seront placés dans le dossier Composants.

    Les fichiers PDB sont nécessaires pour le débogage, car ils contiennent les symboles de débogage de la DLL et mappent le code de la DLL sur la forme de son code source. Si vous ciblez le runtime hérité, Visual Studio Tools pour Unity utilise les informations à partir de la DLL et des fichiers PDB pour créer un fichier DLL.MDB, qui est le format des symboles de débogage utilisé par le moteur de script Unity hérité. Si vous ciblez le nouveau runtime, et Portable-PDB, Visual Studio Tools pour Unity n’essaie pas convertir les symboles, car le nouveau runtime Unity peut consommer les fichiers Portable-PDB en mode natif.

    Des informations supplémentaires sur la création de fichiers PDB sont disponibles ici. Si vous ciblez le nouveau runtime, assurez-vous que l’option « Informations de débogage » est définie sur « Portable », afin de générer correctement un fichier Portable-PDB. Si vous ciblez le runtime hérité, vous devez utiliser l’option « Complet ».

  2. Déboguez votre code. Vous pouvez maintenant déboguer le code source de votre DLL ainsi que le code source de votre projet Unity, et utiliser toutes les fonctionnalités de débogage auxquelles vous êtes habitué, telles que les points d'arrêt et le parcours du code pas à pas.

Raccourcis clavier

Vous pouvez accéder rapidement aux fonctionnalités des outils Unity pour Visual Studio à l'aide de leurs raccourcis clavier. Voici un résumé des raccourcis disponibles.

Commande Raccourci Nom de la commande du raccourci
Ouvrir l'Assistant MonoBehavior Ctrl+Maj+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Ouvrir l'Explorateur de projets Unity Alt+Maj+E View.UnityProjectExplorer
Accéder à la documentation Unity Ctrl+Alt+M, Ctrl+H Help.UnityAPIReference
Attacher au débogueur Unity (lecteur ou éditeur) pas de valeur par défaut Debug.AttachUnityDebugger

Vous pouvez modifier les combinaisons de touches de raccourci si vous n'aimez pas la valeur par défaut. Pour plus d’informations sur la modification des combinaisons par défaut, consultez Identifier et personnaliser les raccourcis clavier dans Visual Studio.

Commande Raccourci Nom de la commande du raccourci
Ouvrir l'Assistant MonoBehavior Cmd+Maj+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Accéder à la documentation Unity Cmd+' Help.UnityAPIReference

Vous pouvez modifier les combinaisons de touches de raccourci si vous n'aimez pas la valeur par défaut. Pour plus d’informations sur la façon de modifier, consultez Personnalisation de l’IDE.