Les développeurs sont toujours à la recherche de solutions de build efficaces pour divers profils matériels et systèmes d'exploitation. Un build installé est une version entièrement fonctionnelle de l'Unreal Engine (UE) que vous pouvez redistribuer afin que votre équipe puisse rapidement commencer à utiliser le moteur. D'un point de vue technique, un build installé contient des fichiers binaires précompilés pour l'UE et une bibliothèque statique pour chaque plateforme cible dans les configurations de développement et de livraison.
Le processus de builds installés automatise les packages et outils de build nécessaires à la création d'une version de build installé d'UE. En résumé, la création d'un build installé consiste à configurer les plateformes cibles par défaut, à compiler l'UE avec ses outils et son éditeur, à exécuter des tests et à déployer la version du build installé de l'UE sur les plateformes ciblées.
Créer un build installé
Vous pouvez créer des builds installés à l'aide du système de programmation BuildGraph avec le script de build installé situé dans le dossier contenant votre code source téléchargé à l'emplacement [UERoot]/Engine/Build/InstalledBuild.xml.
Pour créer un build installé :
Ouvrez l'invite de commande sur votre système.
Saisissez une ligne de commande pour exécuter le script de build installé en appelant AutomationTool. Cette ligne de commande peut être similaire à celle-ci (remplacez
[Platform]parWin64,LinuxouMac, en fonction de votre système) :C++C:\EpicSource\UE_5.5\UnrealEngine-5.5\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build [PLATFORM]" -script="Engine/Build/InstalledEngineBuild.xml" -cleanArrêtons-nous sur les différentes parties de cette ligne de commande :
C:\EpicSource\UE_5.5\UnrealEngine-5.5\: emplacement du code source téléchargé (qui peut être différent sur votre PC).Engine\Build\BatchFiles\RunUAT.bat: emplacement du fichier de commande de l'outil Unreal Automation Tool, que vous utilisez pour la commande de build.-target="Make Installed Build [PLATFORM]": plateforme cible, sur laquelle vous souhaitez créer le build du moteur (remplacez[PLATFORM]parWin64,LinuxouMac).-script=Engine/Build/InstalledEngineBuild.xml: emplacement du fichier contenant les options pour le processus d'installation.Vous pouvez également ajuster des options de script de build installé supplémentaires.
Si vous utilisez les options de script de build installé supplémentaires, votre code sera similaire à celui-ci (tout dépend des paramètres que vous ajustez) :
C++C:\EpicSource\UE_5.5\UnrealEngine-5.5\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build [PLATFORM]" -script="Engine/Build/InstalledEngineBuild.xml" -set:WithWin64=true -set:WithMac=true -set:WithTVOS=false -set:WithLinux=false -set:WithHTML5=truePar défaut, votre build installé doit être situé dans le dossier
LocalBuilds/Engine/du répertoire de l'Unreal Engine. Si vous avez spécifié un autre répertoire pour la publication, accédez à ce répertoire.
Options du script de build installé
Le script InstalledEngineBuild.xml crée un build installé avec toutes les plateformes et options par défaut activées. Toutefois, vous pouvez le configurer à l'aide d'un ensemble d'options spécifique. Ces options offrent davantage de contrôle, notamment pour cibler les plateformes à inclure et définir l'emplacement de publication du build.
Vous pouvez consulter la liste des options disponibles pour personnaliser le processus de build (ainsi qu'une liste des nœuds générés par défaut) en ajoutant l'option -listonly au script.
Les options disponibles sont répertoriées dans le tableau ci-dessous.
| Option | Valeur par défaut | Description |
|---|---|---|
| false | Option d'aide permettant de créer un build installé uniquement pour votre plateforme hôte, afin que vous n'ayez pas à désactiver chaque plateforme individuellement. |
| true | Inclure la plateforme cible Win64. |
| true | Inclure la plateforme cible Win32. |
| true | Inclure la plateforme cible Mac. |
| true | Inclure la plateforme cible Android. |
| true | Inclure la plateforme cible iOS. Pour activer cette option, vous devez disposer d'un Mac configuré en vue de créer des builds à distance. |
| true | Inclure la plateforme cible tvOS. Pour activer cette option, vous devez disposer d'un Mac configuré en vue de créer des builds à distance. |
| true | Inclure la plateforme cible Linux. |
| true | Inclure la plateforme cible Linux Arm64. |
| false | Inclure la plateforme cible PS4. Pour activer cette option, vous devez disposer du kit SDK de la PS4. |
| false | Inclure la plateforme cible PS5. Pour activer cette option, vous devez disposer du kit de la PS5. |
| false | Inclure la plateforme cible Switch. Pour activer cette option, vous devez disposer de SwitchSDK. |
| false | Inclure l'ancienne cible WithXboxOneGDK. Pour activer cette option, vous devez disposer du kit SDK de la Xbox One. |
| false | Inclure la plateforme cible GDK. Pour activer cette option, vous devez disposer du GDK. |
| false | Inclure la plateforme cible XB1. Pour activer cette option, vous devez disposer du kit XDK de la XB1. |
| false | Inclure la plateforme cible WinGDK. Pour activer cette option, vous devez disposer de WinGDK. |
| false | Inclure la plateforme cible XSX. |
| true | Créer un cache de données dérivées autonome pour les contenus et les modèles du moteur. La création d'un cache de données dérivées (CDD) autonome pour le moteur et les modèles de contenu peut s'avérer l'un des aspects les plus lents du build. Si vous n'avez pas besoin d'un CDD autonome, vous pouvez ignorer cette étape en ajoutant |
| true | Déterminer s'il convient d'inclure le CDD pour la plateforme hôte uniquement. |
| false | Inclure les cibles de client précompilées. |
| false | Inclure les cibles de serveur précompilées. |
| false | Générer des informations de débogage complètes pour les builds d'éditeurs binaires et les builds d'applications empaquetées. |
| false | Signer les exécutables produits s'il est nécessaire de configurer la machine pour signer les exécutables dans le cadre du processus de build. |
| aucune valeur par défaut | Identificateur pour les événements analytiques à envoyer. |
` -set:EmbedSrcSrvInfotrue/false` | false | Déterminer s'il convient d'ajouter l'indexation source aux applications de jeu Windows afin qu'elles puissent être ajoutées à un serveur de symboles. |
| false | Autoriser l'utilisation de ParallelExecutor de l'UAT lors de la compilation. |
| Shipping;Development;DebugGame | Spécifier les configurations pour les applications empaquetées. |
| false | Signer les exécutables en parallèle. Windows uniquement. |
| aucune valeur par défaut | Arguments supplémentaires à fournir aux compilations exécutées sur des plateformes autres que macOS. À utiliser pour activer des options comme UBA. |
| aucune valeur par défaut | Arguments supplémentaires à fournir aux compilations exécutées sur les plateformes macOS. À utiliser pour activer des options comme UBA. |
| aucune valeur par défaut | Arguments supplémentaires à transmettre à la génération de CDD. À utiliser pour activer des options comme UBA. |
Inclure des fichiers supplémentaires
Les dépendances d'exécution (définies dans les fichiers build.cs de chaque module) classent et déterminent automatiquement les fichiers à inclure dans un build installé. Cependant, certains fichiers ne peuvent pas être inclus de cette façon. Ils sont donc définis dans [UERoot]/moteur/Build/InstalledEngineFilters.XML. Le fichier XML InstalledEngineFilters répertorie également les modèles de fichiers à exclure du build, détermine les types de fichiers à supprimer ou à signer, et enfin, identifie les projets pour lesquels générer le CDD Si vous devez inclure des fichiers supplémentaires avec le build installé, le fichier XML InstalledEngineFilters est idéal pour commencer.
Enregistrer un build installé
L'UE utilise les concepts de projets "étrangers" et de projets "non étrangers". Les projets étrangers sont stockés dans une arborescence de répertoires distincte du moteur, tandis que les projets non étrangers sont stockés dans des sous-répertoires de la racine du moteur, référencés par l'extension UEGames.uprojectdirs .
Le champ "EngineAssociation" d'un fichier .uproject identifie la version de l'éditeur qui ouvrira le projet. Pour les projets non étrangers, ce champ est vide, car le fait d'être non étranger implique l'existence d'un éditeur dans un emplacement relatif (connu), au-dessus de la hiérarchie des répertoires du projet. Pour les projets étrangers, qui utilisent des builds du moteur installés par le lanceur, ce champ contient le numéro de version officiel (par exemple, "5.5"), et le lanceur peut rechercher le binaire de l'éditeur approprié (en supposant qu'il a été installé) à partir de sa liste d'applications installées. Pour les projets étrangers utilisant un build du moteur distribué par un autre moyen que le lanceur, il est possible d'utiliser l'identificateur aléatoire unique du build du moteur pour rechercher le répertoire installé via un référentiel de données accessible globalement, plus précisément le registre sous Windows ou un fichier dans le dossier library sous macOS. Si aucune association avec un build de l'éditeur installé n'est trouvée, l'utilisateur est invité à sélectionner une version, et le fichier .uproject sera actualisé avec la version sélectionnée.
Lorsque vous distribuez un build installé à une équipe, assurez-vous que l'identificateur du build est commun à tous. Cela empêchera l'éditeur de demander une sélection de version, puis de mettre à jour le fichier .uproject avec un identificateur unique généré localement. Pour définir un identificateur personnalisé, procédez comme suit :
Sous Windows, ajoutez une clé de registre à
HKEY_CURRENT_USER\SOFTWARE\Epic Games\UnrealEngine\Buildsqui utilise votre identificateur comme clé et le chemin d'accès au moteur comme valeur. Par exemple, la clé peut êtreMyCustom419et la valeurD:\CustomUE.Sous macOS, ouvrez
Users/MyName/Library/Application Support/Epic/UnrealEngine/Install.iniet ajoute une entrée dans la section[Installations]qui utilise votre identificateur comme clé et le chemin d'accès au moteur comme valeur. Par exemple :C++[Installations] MyCustom419 = /Users/MyName/CustomUE
Choisir cette méthode de déploiement
Si vous avez rarement besoin de changer de moteur et que vous recherchez un moyen rapide (et efficace) de fournir des solutions de build pour divers profils matériels et systèmes d'exploitation, vous pouvez déployer une version installée de l'UE (ou télécharger le moteur depuis notre lanceur).
Notez que, si vous ne recherchez pas une distribution en lecture seule de l'UE (qui peut être installée dans C:\Program Files), cette méthode ne vous convient pas, car elle vise principalement à créer du contenu de moteur autonome en lecture seule, du code source et des bibliothèques tierces. Bien que nous fournissions gratuitement les builds installés du moteur par le biais du lanceur Epic Games, nos équipes de jeux internes n'utilisent pas cette méthode. Nous considérons par ailleurs cette méthode comment déploiement autonome à part entière.