Partager via


Ouvrir des projets Unreal Engine dans Visual Studio

Visual Studio 2022 version 17.12 fournit une prise en charge directe des projets Unreal Engine.

Auparavant, vous deviez générer un projet Microsoft Visual Studio avant de pouvoir utiliser un projet Unreal Engine dans Visual Studio. Ce processus était fastidieux. Et chaque fois qu’une nouvelle ressource a été ajoutée à partir de l’éditeur de moteur Unreal ou par un autre membre de l’équipe, le projet Visual Studio doit être régénéré pour rester synchronisé avec le projet Unreal Engine.

À présent, avec prise en charge directe des fichiers de projet Unreal Engine (.uproject), vous pouvez travailler directement avec des projets Unreal Engine à partir de Visual Studio. Cette intégration permet une modification, un débogage et une gestion de fichiers projet transparentes sans le processus fastidieux de génération et de régénération d’un fichier projet Visual Studio.

Conditions préalables

Les éléments suivants doivent être installés pour fonctionner avec des projets Unreal Engine dans Visual Studio :

  • Visual Studio version 17.12 Preview 2 ou ultérieure.
  • Unreal Engine version 4.27 ou Unreal Engine version 5 et ultérieure.
  • Visual Studio Tools pour Unreal Engine. Pour obtenir des instructions d’installation, consultez Installer Visual Studio Tools pour Unreal Engine.
  • Téléchargez l’exemple de jeu Lyra. Consultez la section Télécharger le jeu Lyra Starter dans Exemple de jeu Lyra pour obtenir des instructions de téléchargement. Si vous l’avez acquis via l’installation du code source de Unreal Engine, cette version ne contient pas les ressources requises pour générer et exécuter le jeu. Utilisez les instructions de téléchargement pour obtenir tout ce dont vous avez besoin via le programme d’installation Epic.

Configuration pour Unreal Engine 5.3 ou version antérieure

Pour les versions d’Unreal Engine antérieures à la version 5.4, procédez comme suit pour activer l’intégration de Unreal Engine .uproject à Visual Studio. Ces étapes fonctionnent si vous avez installé Unreal Engine à partir du lanceur Epic Games ou que vous l’avez généré à partir du code source.

  1. Téléchargez le correctif spécifique à votre version d’Unreal Engine à partir du référentiel GitHub Unreal Engine. Par exemple, UnrealBuildTool-5.2.patch corrige la version 5.2 d'Unreal Engine.
  2. Ouvrez une fenêtre d’invite de commandes ou PowerShell et accédez au répertoire racine où Unreal Engine est installé. Vous avez besoin d’une élévation d’administrateur pour appliquer le correctif si Unreal Engine est installé dans un répertoire protégé comme C:\Program Files\Epic Games\UE_5.3.
  3. Appliquez le correctif avec la commande git apply <path to the downloaded patch file>. Par exemple : git apply C:\Users\someuser\Downloads\UnrealBuiltTool-5.3.patch. En cas d’échec, essayez git apply -v --ignore-whitespace --ignore-space-change <path to the downloaded patch file>.

Ouvrir un projet Unreal Engine natif dans Visual Studio

Il existe deux façons d’ouvrir un projet Unreal Engine natif dans Visual Studio :

  • Fichier>Ouvrir>Dossier utilisé lorsqu’il n’existe qu’un seul projet (.uproject) dans le dossier.
  • Fichier>Ouvrir>Projet Unreal Engine pour choisir un fichier .uproject spécifique à ouvrir lorsqu’il existe plusieurs fichiers projet Unreal Engine dans un dossier.

Dans cet exemple, nous utilisons le projet de jeu Lyra pour illustrer l’ouverture d’un projet Unreal Engine natif dans Visual Studio.

  1. Dans Visual Studio, ouvrez le menu Fichier, puis sélectionnez Ouvrir>Ouvrir le dossier.

  2. Accédez au répertoire dans lequel le projet de jeu Lyra (LyraStarterGame.uproject) est installé et choisissez Sélectionner un dossier.

  3. Une fois le dossier sélectionné, les fichiers projet apparaissent dans l’Explorateur de solutions et les messages apparaissent dans la fenêtre Sortie concernant la configuration de l’espace de travail.

    Capture d’écran de Visual Studio suivant l’ouverture du dossier de l’exemple de jeu Lyra.

Un message s’affiche lorsque la prise en charge du projet Unreal Engine est activée et que d’autres systèmes de génération tels que CMake et MSBUILD sont désactivés. Vous pouvez ignorer ce message en cliquant sur le X dans le coin du message.

Afficher le projet dans l’Explorateur de solutions

La fenêtre de l’Explorateur de solutions affiche la plupart des fichiers et dossiers qui font partie du projet Unreal Engine, tels que le Platforms, Pluginset les dossiers Source. Vous pouvez également voir le fichier .uproject du moteur Unreal. Le dossier Engine contient le répertoire sources pour Unreal Engine.

Solution Explorer est filtré pour se concentrer sur le code source. Par défaut, les dossiers Content sont filtrés, qui contiennent des ressources binaires telles que des textures, des modèles, et ainsi de suite. Vous pouvez ouvrir ces ressources dans l’éditeur de moteur Unreal. En général, les fichiers binaires ne sont pas affichés dans l’Explorateur de solutions visual Studio .

Vous n’avez pas besoin de régénérer le projet pour afficher ou modifier de nouvelles ressources ajoutées en dehors de Visual Studio.

Page de configuration d’Unreal Engine

Visual Studio fournit une page de configuration de projet Unreal Engine. Cette page affiche l’état des fonctionnalités d’Unreal Engine et vous permet d’accéder à d’autres fonctionnalités.

Pour accéder à cette page à partir du menu principal de Visual Studio, choisissez Project>Configurer les outils pour unreal Engine:

Capture d’écran de la page de configuration du projet Unreal Engine.

La page de configuration comporte un indicateur d’état rouge/vert et un bouton d’actualisation pour les options telles que l’état global de la configuration, l’état de l’outil de génération Unreal, les cibles du moteur Unreal, la prise en charge du blueprint, l’état de l’outil d’intégration Visual Studio, etc.

État de Unreal Build Tool

Pour vous assurer que vous disposez de la dernière version d'Unreal Build Tool (UBT), sélectionnez l’icône d’actualisation pour l’État de Unreal Build Tool.

Dans cet exemple, un message s’affiche indiquant qu’Unreal Build Tool n’utilise pas la dernière version disponible pour le générateur d’espace de travail. Pour mettre à jour l’outil de Build Unreal vers la dernière version, choisissez Mise à jour.

Capture d’écran de l’option État de l’outil de génération du moteur Unreal dans la page de configuration.

Dans la fenêtre Sortie, les messages s’affichent lors de la préparation de l’outil de Unreal Engine Build Tool. Un message indiquant que l’espace de travail est prêt s’affiche, après quoi vous pouvez commencer à ajouter et modifier des fichiers.

Cibles Unreal Engine

Lorsque vous compilez un projet Unreal Engine, il existe différentes configurations de compilation, appelées objectifs, que vous pouvez sélectionner.

L’option Cibles Unreal Engine est l’emplacement où vous générez ces cibles. Choisissez l’icône d’actualisation pour actualiser la liste des cibles Unreal Engine et ouvrez la fenêtre dans laquelle vous pouvez sélectionner les configurations cibles que vous souhaitez créer :

Capture d’écran de la fenêtre des combinaisons des objectifs de construction du moteur Unreal.

Pour plus d’informations sur les combinaisons cibles, consultez la documentation d’Unreal Engine Build Configuration Descriptions.

Dans cet exemple, LyraClient , DebugGameet Win64 sont sélectionnés dans les listes déroulantes.

  1. Choisissez Ajouter pour les ajouter à la liste des configurations à générer.
  2. Choisissez Générer des cibles pour créer les configurations sélectionnées pour chaque configuration avec sa case à cocher sélectionnée.

Une fois les cibles générées, vous pouvez les sélectionner comme décrit dans Choisir la configuration de build. Surveillez les erreurs dans la fenêtre de sortie lorsque vous générez des cibles, car certaines combinaisons peuvent ne pas être prises en charge.

Vous pouvez supprimer des cibles en décochant celles que vous ne souhaitez pas, puis en sélectionnant le bouton Générer des cibles. Lorsque vous sélectionnez Générer des cibles, les cibles qui ne sont pas sélectionnées sont supprimées, bien qu’elles ne disparaissent pas de cette liste tant que vous n’avez pas rechargé le projet.

Modifier les propriétés de la cible

Pour modifier les propriétés cibles d’Unreal Engine, cliquez avec le bouton droit sur le fichier cible en gras dans l’Explorateur de solutions, puis choisissez Modifier les propriétés cibles d’unreal Engine.

Par exemple, si LyraEditor.Target.cs est la cible de démarrage (dans ce cas, elle est en gras dans l’Explorateur de solutions ), cliquez dessus avec le bouton droit et choisissez Modifier les propriétés de la cible Unreal Engine. Le fichier UETargetProperties.json s’ouvre dans l’éditeur.

Capture d’écran d’un clic droit sur l’élément de l’Explorateur de solutions LyraEditor.Target.cs.

Un menu s’affiche et en bas est l’option permettant de modifier cette cible Unreal Engine. Sélectionner cette option ouvre UETargetProperties.json dans l’éditeur.

Vous pouvez ensuite modifier les propriétés cibles telles que les arguments de ligne de commande.

Modifier les paramètres du projet

Pour modifier les paramètres du projet Unreal Engine, cliquez avec le bouton droit sur le fichier .uproject dans l’Explorateur de solutions, puis choisissez Modifier les paramètres du projet Unreal Engine.

Le fichier ProjectSettings.json s’ouvre dans l’éditeur. Vous pouvez ensuite modifier les paramètres du projet, par exemple, quels fichiers de projet et fichiers moteur exclure de la vue Explorateur de solutions, quels chemins d’inclusion partagés exclure d’IntelliSense, etc. Vous pouvez utiliser ces paramètres pour exclure les fichiers dont vous n’avez pas besoin pour accélérer IntelliSense.

Capture d’écran d’un clic droit sur l’élément de l’Explorateur de solutions LyraStarterGame.uproject.

Un menu s’affiche et en bas est l’option permettant de modifier les paramètres du projet Unreal Engine. La sélection de cette option ouvre le fichier « .uproject » dans l’éditeur.

Choisir la configuration de build

Pour choisir une configuration de build, choisissez la cible souhaitée dans la liste déroulante Configuration :

Capture d’écran de la liste déroulante de configuration.

Le menu déroulant de configuration contient les éléments : DebugGame - Win64 et Development - Win64.

Si la cible que vous souhaitez générer ne figure pas dans la liste, ajoutez-la comme décrit dans cibles du moteur Unreal.

Modification et débogage dans Visual Studio

Vous pouvez modifier, générer et déboguer votre projet Unreal Engine dans Visual Studio. Pour savoir comment ajouter des modules, des classes et des plug-ins Unreal Engine dans Visual Studio, consultez Ajouter des classes, des modules et des plug-ins unreal Engine dans Visual Studio.

Vous pouvez définir des points d’arrêt dans votre code, puis exécuter le jeu dans l’éditeur de moteur Unreal. Quand un point d’arrêt est atteint, vous pouvez déboguer le code dans Visual Studio.

Par défaut, Visual Studio génère une seule cible : Développement - Win64. Cette cible génère et lance l'éditeur Unreal avec votre projet de jeu chargé.

Si vous avez ouvert le dossier de l’exemple de projet de jeu Lyra dans Visual Studio, essayez de déboguer en procédant comme suit :

  1. Dans Visual Studio, ouvrez LyraGameplayAbility_RangedWeapon.cpp. Recherchez ce fichier dans le volet Recherche de l’Explorateur de solutions ou recherchez-le sous Games>LyraStarterGame>Source>LyraGame>Armes>LyraGameplayAbility_RangedWeapon.cpp.
  2. Dans LyraGameplayAbility_RangedWeapon.cpp, allez à la ligne 477 environ. Recherchez la fonction : void ULyraGameplayAbility_RangedWeapon::OnTargetDataReadyCallback.
  3. Placez un point d’arrêt sur la fonction en appuyant sur F9 .
  4. Exécutez l’exemple de jeu dans Visual Studio en choisissant Déboguer>Démarrer le débogage. Donnez un certain temps à l’Éditeur du moteur Unreal pour charger le jeu.
  5. Dans l’Éditeur du moteur Unreal, cliquez sur le bouton Jouer dans la barre d’outils (ou appuyez sur Alt+p) pour démarrer le jeu.
  6. Dans le jeu Lyra, utilisez les touches w, a, s et d pour parcourir le lecteur à gauche du portail Élimination. Positionnez le joueur sur le portail d’entrée pour charger le jeu.
  7. Une fois le jeu en cours d’exécution, cliquez sur le bouton de la souris pour le déclencher. Vous devez voir le point d’arrêt dans Visual Studio : Capture d’écran du débogage dans Visual Studio. Un point d’arrêt est atteint dans la fonction OnTargetDataReadyCallback.

Problèmes courants et solutions

  • Votre moteur et votre code de jeu doivent se trouver sur le même lecteur. Si ce n’est pas le cas, consultez La source de jeu et celle du moteur se trouvent sur des lecteurs différents.
  • Plusieurs fichiers .uproject dans le même dossier ne sont pas pris en charge. Pour ouvrir un fichier .uproject spécifique lorsqu’il existe plusieurs fichiers projet dans le même dossier, utilisez Fichier>Ouvrir>projet Unreal Engine.
  • Si vous ouvrez un projet Unreal Engine via Fichier>Ouvrir>Projet Unreal Engine, le projet n’apparaît pas dans la liste Fichier>Projets et solutions récents de Visual Studio. Si vous ouvrez le projet dans Unreal Engine via Fichier>Ouvrir Dossier, le projet Unreal Engine ouvert figure dans la liste des projets récemment ouverts.
  • Certaines extensions peuvent ne pas fonctionner avec un projet ouvert en tant que projet Unreal Engine.
  • La fenêtre de propriété est vide pour les fichiers sources. C'est intentionnel pour le moment.
  • Il existe un fichier de solution Visual Studio dans l’affichage dossier. Unreal Engine génère ce fichier, mais il n’est pas utilisé par Visual Studio et vous pouvez l’ignorer.

La source de jeu et celle du moteur se trouvent sur des lecteurs différents

Si votre code source unreal Engine et votre code source de jeu se trouvent sur différents lecteurs, une erreur s’affiche lorsque vous ouvrez votre projet de code de jeu. Par exemple : si votre jeu se trouve à C:\Users\MyUser\MyGame, le moteur Unreal doit se trouver quelque part sur le lecteur C:\ ; Sinon, la prise en charge du projet Unreal Engine dans Visual Studio n’est pas disponible :

Capture d’écran montrant la fenêtre d’erreur pour les lecteurs multiples.

Nous vous recommandons l’une des solutions suivantes :

Solution n°1 : déplacer le code source du jeu et du moteur vers le même disque

La solution la plus simple consiste à déplacer le projet de jeu vers le même lecteur logique où réside le moteur Unreal à l’aide de l'Windows File Explorer.

Si vous déplacez la source Unreal Engine que vous avez installée via le Epic Games Launcher, désinstallez le moteur, puis réinstallez-le sur le même lecteur que le jeu. Ainsi, les fichiers de configuration du moteur reflètent le nouvel emplacement.

Une fois que vous avez la source de jeu et la source du moteur sur le même lecteur, vous pouvez ouvrir .uproject dans Visual Studio.

Si le déplacement de la source du moteur et de la source du jeu vers le même lecteur n’est pas possible, vous pouvez créer un lien symbolique vers la source Unreal Engine et modifier la propriété EngineAssociation dans le fichier .uproject pour qu’elle corresponde.

Pour cet exemple, supposons que le moteur Unreal se trouve à C:\Program Files\Epic Games\UE_5.4 et que votre jeu se trouve à Q:\src\game.

  1. Ouvrez une fenêtre d’invite de commandes (pas de PowerShell).
  2. Accédez au lecteur sur lequel se trouve votre source de jeu. Par exemple, cd /d Q:\.
  3. Créez un lien symbolique qui pointe vers le moteur Unreal. La commande mklink prend un paramètre de lien qui spécifie le nom de lien symbolique qui indique comment l’emplacement de votre répertoire apparaît dans le système de fichiers. Le paramètre cible est ce à quoi vous faites un lien. Par exemple, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" crée un lien symbolique nommé Q:\UE-Link qui pointe vers le répertoire Unreal Engine sur le lecteur C:.
  4. Ouvrez le fichier .uproject de votre jeu et modifiez la propriété EngineAssociation comme dossier de lien symbolique que vous avez créé. Par exemple, "EngineAssociation": "Q:\\UE-Link".

Vous pouvez maintenant ouvrir le .uproject dans Visual Studio, car la source du jeu et la source du moteur apparaissent sur le même lecteur. Le lien symbolique va rediriger les références aux fichiers vers le moteur.

Cette solution est fragile, car elle modifie un fichier de configuration et la modification peut être rétablie la prochaine fois que vous mettez à jour Unreal Engine.

Pour cet exemple, supposons que le moteur Unreal se trouve à C:\Program Files\Epic Games\UE_5.4 et que votre jeu se trouve à Q:\src\Game

  1. Ouvrez une fenêtre d’invite de commandes (et non une fenêtre PowerShell).
  2. Accédez au lecteur de disque sur lequel se trouvent vos fichiers de jeu. Par exemple, cd /d Q:\.
  3. Créez un lien symbolique qui pointe vers le moteur Unreal. La commande mklink prend un paramètre de lien qui spécifie le nom de lien symbolique qui indique comment l’emplacement de votre répertoire apparaît dans le système de fichiers. Le paramètre cible correspond à ce à quoi vous établissez un lien. Par exemple, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" crée un lien symbolique nommé Q:\UE-Link qui pointe vers le répertoire Unreal Engine sur le lecteur C:.
  4. Ouvrez C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat dans un éditeur.
  5. Remplacez la valeur de InstallLocation par le chemin d’accès du lien symbolique que vous avez créé. Cet exemple concerne UE 5.4 installé sur le lecteur C: et le lien symbolique se trouve sur le lecteur Q:.

Avant:

{
    "InstallationList": [
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\UE_5.3",
            ...
            "AppName": "UE_5.4"
        },
}

Après :

{
    "InstallationList": [
        {
            "InstallLocation": "Q:\\UE-Link",
            ...
            "AppName": "UE_5.4"
        },
}

Vous pouvez maintenant ouvrir le .uproject dans Visual Studio, car la source du jeu et la source du moteur apparaissent sur le même lecteur. Le lien symbolique s’occupe de rediriger les références de fichier vers le moteur.

Visual Studio Tools pour Unreal Engine
Ajouter des classes, modules et plug-ins unreal Engine dans Visual Studio
Démarrage rapide : Visual Studio Tools pour Unreal Engine
Afficher des Blueprints d'Unreal Engine dans Visual Studio
Afficher la journalisation Unreal Engine dans Visual Studio
Afficher les macros unreal Engine dans Visual Studio