Cette page présente un aperçu des concepts clés de l'empaquetage, ainsi que des tutoriels sur la préparation d'un projet et sa conversion. Pour accéder à ces tutoriels, consultez les sections Préparer du contenu et Empaqueter le projet.
Qu'est-ce que l'empaquetage ?
Le processus d'empaquetage consiste à convertir un projet Unreal Engine en un exécutable autonome (.exe
) ou en une application.
Ce processus compile le contenu d'un projet dans un format exécutable sur une plateforme cible comme Windows, iOS ou une console. Par exemple, lorsque vous téléchargez un jeu sur votre machine, les fichiers exécutables et de données que vous recevez ont été empaquetés pour assurer leur compatibilité avec votre système d'exploitation.
L'empaquetage peut survenir à plusieurs étapes du pipeline de développement :
Production et tests
Lors de la production et des tests, l'empaquetage permet de vérifier la fonctionnalité d'un projet. Par exemple, il peut permettre de vérifier la qualité (QA) d'un projet ou de le tester sur des plateformes mobiles.
Distribution
Lors d'opérations de distribution (ou livraison), l'empaquetage permet de préparer la version finale en vue de sa publication.
Postproduction
Lors de la postproduction, l'empaquetage permet de distribuer des mises à jour de contenu, comme du contenu téléchargeable (DLC) et des correctifs.
La version finale est un projet prêt à être utilisé par les utilisateurs ou les joueurs.
Plateformes cibles prises en charge
Une plateforme cible est un système d'exploitation ou une console sur laquelle un projet sera exécuté. L'Unreal Engine prend en charge l'empaquetage pour les plateformes cibles suivantes :
Les plateformes de bureau, telles que Windows, macOS et Linux.
Les plateformes mobiles comme iOS, iPadOS, tvOS et Android.
Toutes les principales consoles.
Les plateformes XR (réalité étendue) telles que OpenXR, PS VR2, ARKit, ARCore et visionOS.
Autres logiciels
Le développement et l'empaquetage pour Windows et macOS ne nécessitent aucun autre logiciel.
Dans le cas des consoles, le développement et l'empaquetage requièrent une version du code source de l'Unreal Engine. La version précompilée obtenue via le lanceur Epic Games ne peut pas être utilisée. Vous pouvez télécharger une version du code source depuis GitHub.
Pour certaines plateformes cibles, comme Linux, les plateformes mobile et XR, les processus de développement et d'empaquetage peuvent nécessiter des kits de développement logiciel (SDK) et des composants Unreal Engine supplémentaires. Pour en savoir plus sur les SDK pour votre plateforme cible, consultez la page Sharing and Releasing Projects (Partage et publication de projets). Pour plus d'informations sur les composants Unreal Engine, consultez la page Installer l'Unreal Engine.
Comment fonctionne l'empaquetage ?
Empaqueter un projet consiste en une opération de compilation. La compilation, la préparation et la copie intermédiaire sont des opérations clés du processus d'empaquetage.
Compilation
Lors de cette phase, le code, les plug-ins et les fichiers binaires du projet sont compilés pour les plateformes cibles. Si le projet utilise C++, l'ensemble du code est compilé en fichiers binaires.
Préparation
Pendant cette phase, les ressources du projet (géométrie, matériaux, textures, blueprints, sons, etc.) sont enregistrées dans un format exécutable sur la plateforme ciblée. Les ressources sont optimisées pour améliorer l'efficacité du chargement.
Copie intermédiaire
Pendant cette phase, le code compilé et le contenu préparé sont copiés dans un répertoire intermédiaire.
Un répertoire intermédiaire est un dossier temporaire sur votre disque, placé hors du répertoire de développement, et que vous désignez pendant le processus d'empaquetage.
Empaquetage
Pendant cette phase, le code compilé et le contenu préparé sont empaquetés en un ensemble de fichiers distribuables dans le répertoire intermédiaire. Par exemple, sous Windows, les fichiers distribuables comprennent un programme d'installation ou un exécutable et un dossier contenant des fichiers Pak (
.pak
).(Facultatif) Déploiement
Le projet est déployé sur la plateforme cible où il sera exécuté.
(Facultatif) Exécution
Cette phase lance le projet depuis l'Unreal Editor sur la plateforme ciblée. Cette opération est idéale pour effectuer des itérations et des tests rapides sur un appareil autre que votre ordinateur local.
Opérations de build
Si chaque opération contribue au processus d'empaquetage, vous pouvez aussi les exécuter de manière isolée.
Lorsqu'elles sont exécutées de manière isolée, chaque opération joue un rôle spécifique à une étape donnée du développement. Par exemple, l'opération de préparation permet d'optimiser et de sauvegarder des ressources spécifiques sans tenir compte des autres comprises dans votre niveau du jeu. Elle est idéale pour distribuer des mises à jour de contenu, telles que des DLC ou des correctifs.
Pour obtenir une comparaison des opérations de compilation, consultez le tableau ci-dessous :
Opération de compilation | Exemple d'utilisation |
---|---|
Compilation | Compiler le code pendant le développement. |
Préparation | Préparer un projet à des fins de test QA ou de distribution. Préparer des DLC et des patchs à des fins de test ou de distribution. |
Copie intermédiaire | Préparer un projet à des fins de test QA ou de distribution. |
Empaquetage | Préparer un projet à des fins de test QA ou de distribution. |
Déploiement | Tester un projet sur une plateforme autre que votre ordinateur de bureau local, comme une console ou un appareil mobile. |
Exécution | Tester un projet sur une plateforme autre que votre ordinateur local. Utilisateurs exécutant un projet livré sur une plateforme cible. |
Préparation de contenu
La préparation est une opération de compilation qui consiste à préparer le contenu du jeu pour qu'il puisse être exécuté en dehors de l'Unreal Editor. Elle est effectuée dans le cadre du processus d'empaquetage, mais vous pouvez le faire de manière isolée.
La préparation est nécessaire pour les raisons suivantes :
Elle assure l'optimisation et la compatibilité du contenu du jeu avec les plateformes cibles.
Elle est requise avant l'empaquetage d'une version finale à des fins de distribution ou de test sur un appareil, tel qu'un appareil mobile ou une console.
Elle convertit les formats réservés à l'éditeur en formats prêts pour l'exécution.
L'exécution fait référence à la période de temps pendant laquelle un projet est exécuté sur les plateformes cibles.
Les tâches suivantes sont effectuées pendant le processus de préparation :
Les ressources (géométrie, matériaux, textures, blueprints, sons, etc.) sont converties dans un format propre à la plateforme.
Lorsque cela est possible, les ressources sont compressées et optimisées.
Les données inutilisées sont exclues, afin de limiter la taille du projet sur le disque et d'améliorer les performances.
Si nécessaire, les blueprints sont compilés dans leur code natif.
Les cartes et les niveaux sont traités et optimisés.
Le contenu préparé est stocké dans un ou plusieurs fichiers Pak (
.pak
).
Pendant la préparation, l'optimisation permet de supprimer tout contenu non référencé par les niveaux de jeu ou le code du projet. Par exemple, les ressources qui apparaissent dans le navigateur de contenu de l'Unreal Editor, mais pas dans le niveau du jeu, ne seront pas préparées.
Si la préparation est isolée, les fichiers sont copiés dans le répertoire de développement, non dans le répertoire intermédiaire.
Pour plus d'informations sur le processus de préparation, consultez la documentation Content Cooking (Préparation du contenu).
Fichiers Pak et segmentation de fichiers Pak
Le format Pak (.pak
) correspond à un fichier d'archive utilisé par l'Unreal Engine pour stocker le contenu préparé. Le type Pak est utilisé par défaut, mais vous pouvez explorer d'autres types de fichiers d'archive dans les paramètres d'empaquetage du projet.
Les fichiers Pak peuvent être divisés en fichiers Pak plus petits, appelés segments. Lorsque vous utilisez des segments, vous pouvez attribuer des ressources spécifiques de votre projet à chacun d'eux. Cela est utile dans les cas suivants :
Pour séparer le contenu DLC ou les correctifs que vous ne voulez pas inclure dans le projet entièrement empaqueté.
Pour effectuer une installation en chargement dynamique. Les segments permettent de définir la priorité de téléchargement de certains contenus en premier.
L'installation en chargement dynamique permet aux utilisateurs d'interagir avec un projet livré avant la fin de son installation. Cette méthode est particulièrement adaptée aux jeux sur console, car elle permet aux joueurs de commencer à jouer plus rapidement.
Pour en savoir plus sur les fichiers Pak et la segmentation, consultez les sections Préparation et segmentation et Préparation des ressources à la segmentation.
Préparer du contenu
Il existe deux méthodes pour préparer le contenu d'un projet :
Méthode de préparation | Description |
---|---|
Selon les règles (par défaut) |
|
À la volée |
|
Préparation selon les règles
Pour préparer le contenu selon les règles, procédez comme suit :
Dans la barre d'outils principale de l'Unreal Editor, ouvrez le menu Plateformes.
Dans la liste, sélectionnez une plateforme cible. Ce contenu est préparé pour les plateformes cibles uniquement. Sous Gestion du contenu, cliquez sur Préparer le contenu.
Lorsque vous avez cliqué sur Préparer le contenu, une boîte de dialogue contextuelle apparaît dans le coin inférieur droit de l'Unreal Editor. Elle indique la progression de la préparation ainsi que les états d'achèvement ou d'échec.
Lorsque vous préparez du contenu, la boîte de dialogue affiche le message Préparation de contenu pour [plateforme cible].
Une fois la préparation terminée, la boîte de dialogue affiche le message Préparation terminée !
Préparation à la volée
Pour activer la préparation à la volée, procédez comme suit :
Dans la barre d'outils principale de l'Unreal Editor, ouvrez le menu Plateformes.
Dans le menu, cochez la case Activer la préparation à la volée.
Lorsqu'elle est activée, la préparation à la volée peut être effectuée en suivant la même procédure que la Préparation selon les règles.
Configurations de compilation
Pour empaqueter un projet, vous devez choisir une configuration de compilation. Une configuration de version est un prérégalge qui détermine la manière dont votre projet est compilé, ainsi que le code et le contenu qui seront inclus.
Chaque configuration est utile à une étape donnée du développement, car elles privilégient différents facteurs, notamment :
Performances
Le niveau d'optimisation
La taille des fichiers du projet
L'accès aux outils de débogage
Par exemple, la configuration Shipping (livraison) est idéale pour distribuer des jeux dont les commandes de console pouvant perturber le jeu ne doivent pas être accessibles. Les configurations Debug (débogage) et Development (Développement), qui incluent ces commandes, sont plus adaptées aux phases d'optimisation et de test pendant le développement.
Pour comparer toutes les configurations de compilation, consultez le tableau ci-dessous :
Générer la configuration | Description | Phase de développement | Exemple d'utilisation |
---|---|---|---|
Debug |
| Développement. Cette configuration ne convient pas à la distribution. |
|
DebugGame |
| Développement. Cette configuration ne convient pas à la distribution. |
|
Development (par défaut) |
| Développement. Cette configuration ne convient pas à la distribution. |
|
Test |
| Utilisé pour tester les compilations en interne sans surcharger l'ensemble des outils de débogage. |
|
Shipping |
| Distribution. Cette configuration n'est pas adaptée au développement. |
|
Pour plus d'informations sur les configurations de compilation, consultez Référence des configurations de compilation.
Paramètres d'empaquetage
Les préréglages, comme les configurations de compilation, et bien d'autres options pour personnaliser le processus d'empaquetage sont disponibles sous Paramètres du projet > Empaqueter.
Cette fenêtre est accessible à partir de deux emplacements de l'Unreal Editor :
Dans la barre d'outils principale de l'Unreal Editor, cliquez sur le menu Plateformes. Puis, cliquez sur Paramètres d'empaquetage.
Dans la barre de menus de l'éditeur, cliquez sur Modifier > Paramètres du projet. La fenêtre paramètres du projet s'ouvre. Dans le menu de navigation de gauche, cliquez sur Empaqueter.
La section Empaqueter comprend notamment les options suivantes :
Préréglages de compilation personnalisés
Configurations de compilation
Cibles de compilation
Symboles de débogage
Exécutables
Localisation
Compression
Cooking
Fichiers de configuration (
.ini
)Shaders
Types de fichiers d'archive (Pak, Chunk, Utoc et Ucas)
Le serveur de stockage Zen
Vidéos (par exemple, une vidéo avant rendu, lue avant le début du jeu)
Pour obtenir des explications plus détaillées sur les options disponibles pour l'empaquetage, consultez la section Empaqueter de la page Projet.
Empaqueter un projet
Dans ce tutoriel, vous découvrirez comment empaqueter un projet pour Windows en utilisant l'opération de compilation Paquet et la configuration de compilation Development.
Vous mettrez en pratique la théorie apprise dans les sections précédentes en réalisant les tâches suivantes :
À la fin du tutoriel, vous disposerez d'un exécutable de jeu que vous pourrez lancer, tester et fermer. Ce flux de travail reproduit les étapes de test d'un jeu Unreal Engine en phase de production.
Pour suivre ce tutoriel, il vous faut :
Une machine exécutant Windows
Unreal Engine
Un projet Unreal Engine utilisant le modèle Première personne dans la variante Jeu de tir en arène.
Avant de commencer
Ouvrez votre projet dans l'Unreal Editor.
Configurer une carte de jeu par défaut
La carte de jeu par défaut est celle qui se charge au lancement de votre projet empaqueté. Chaque projet doit définir une carte de jeu par défaut avant l'empaquetage. Sans elle, le projet ne pourra rien charger pendant l'exécution.
Si aucune carte de jeu par défaut n'est définie, le projet affichera un écran noir au lancement, exception faites des projets créés à partir d'un modèle, car celui-ci définit automatiquement une carte de jeu par défaut.
Pour changer de carte, procédez comme suit :
Dans la barre de menus de l'éditeur, cliquez sur Modifier > Paramètres du projet.
Dans la fenêtre Paramètres du projet, sous l'en-tête Projet du menu de navigation de gauche, cliquez sur Cartes et modes.
Développez l'en-tête Cartes par défaut et cliquez sur le menu déroulant Carte de jeu par défaut. Recherchez la ressource
Lvl_ArenaShooter
et sélectionnez-la.
Vous pouvez également sélectionner la carte dans le navigateur de contenu, puis cliquer sur l'icône Utiliser l'élément sélectionné dans le navigateur de contenu dans la fenêtre Paramètres du projet.
Définition d'une configuration de compilation
La configuration de compilation détermine la façon dont votre projet est compilé. Chaque projet doit avoir une configuration de compilation définie avant d'être empaqueté. Par défaut, Unreal Engine utilise la configuration de type Development , sauf si vous la modifiez.
Toujours dans la fenêtre Paramètres du projet, cliquez sur Empaqueter dans le menu de navigation de gauche.
Développez l'en-tête Projet. Vérifiez que la Configuration de compilation est définie sur Development. Si ce n'est pas le cas, cliquez sur le menu déroulant et sélectionnez Development.
La configuration Development vous permet d'accéder à la console en jeu pendant l'exécution. Vous l'utiliserez plus tard dans ce tutoriel pour exécuter des commandes de console.
La console en jeu est une interface en ligne de commande qui vous permet d'interagir avec le moteur pendant l'exécution.
Créer un projet empaqueté
L'empaquetage permet de générer un exécutable ou une application autonome à partir d'un projet Unreal Engine. Dans ce tutoriel, vous allez empaqueter le projet pour la plateforme cible Windows et créer un exécutable que vous lancerez ultérieurement.
Pour empaqueter un projet, procédez comme suit :
Dans la barre d'outils principale de l'Unreal Editor, cliquez sur le menu Plateformes. Sous Gestion du contenu/des SDK/des appareils, vous verrez une liste de plateformes. Pour les besoins de ce tutoriel, sélectionnez Windows.
Selon la plateforme ciblée pour votre développement et les SDK installés, les plateformes répertoriées sous Gestion du contenu/des SDK/des appareils peuvent varier.
Dans le nouveau menu contextuel, sous Configuration binaire, vérifiez que l'option Utiliser les paramètres du projet (Déeloppement) est sélectionnée. Les parenthèses indiquent la configuration actuellement active dans les paramètres d'empaquetage.
Vous pouvez rapidement changer la configuration de compilation depuis le menu Plateformes sans revenir aux Paramètres du projet.
Sous Gestion du contenu, sélectionnez Empaqueter le projet.
Dans la fenêtre de dialogue Empaqueter le projet , choisissez ou créez un dossier qui servira de répertoire intermédiaire sur votre disque, c'est-à-dire l'emplacement d'enregistrement des fichiers empaquetés du projet. Cliquez sur Sélectionner un dossier pour confirmer le répertoire intermédiaire et lancer le processus d'empaquetage.
Une fois le processus lancé, une fenêtre contextuelle intitulée Empaqueter le projet pour [plateforme cible sélectionnée] apparaît dans le coin inférieur droit de l'Unreal Editor.
À tout moment au cours du processus d'empaquetage, vous pouvez ouvrir le journal de sortie en cliquant sur le lien Afficher le journal de sortie dans la fenêtre contextuelle. La fenêtre du journal affiche les tâches effectuées par le moteur pendant l'empaquetage, notamment les erreurs enregistrées.
Une fois le processus terminé, un message indiquera si l'empaquetage a réussi ou échoué.
(Facultatif) Annuler le processus d'empaquetage
Vous pouvez arrêter le processus d'empaquetage à tout moment en cliquant sur le bouton Annuler dans la boîte de dialogue contextuelle.
Une fois l'annulation effective, le message suivant s'affiche dans le coin inférieur droit de l'Unreal Editor.
(Facultatif) Débogage des erreurs d'empaquetage
Les erreurs rencontrées lors de l'empaquetage sont visibles dans le journal de sortie et le journal des messages. Pendant le processus d'empaquetage, vous pouvez cliquer sur le lien Afficher le journal de sortie dans la boîte de dialogue contextuelle pour ouvrir le journal de sortie.
Vous pouvez à tout moment accéder aux journaux en cliquant sur Fenêtre > Journal des messages ou Fenêtre > Journal de sortie dans la barre de menus de l'Unreal Editor.
Journal de sortie
Le journal de sortie est un journal de messages en temps réel généré par le moteur. Il affiche des informations sur le débogage, des messages du compilateur, des alertes, des messages d'erreur ainsi que les détails du chargement des événements et des ressources.
Étant mis à jour en continu, ce journal peut fournir un contexte précis sur ce qui s'est produit avant, pendant et après l'empaquetage.
Le journal des messages
Le journal des messages contient les messages importants, comme les erreurs et les avertissements. Il constitue un bon point de départ pour identifier l'origine d'un problème. Vous pouvez consulter la rubrique Résultats de l'empaquetage dans le menu de navigation de gauche pour voir les erreurs ou avertissements potentiels à corriger.
Running and Exiting Your Executable
Une fois votre projet empaqueté, procédez comme suit pour l'exécuter, le tester et le fermer :
Accédez au répertoire intermédiaire où sont enregistrés les fichiers de votre projet.
Les fichiers Pak mentionnés dans ce guide sont disponibles dans le répertoire intermédiaire sous [Nom du projet ] > Contenu > Fichiers Pak.
Lancez votre projet en double-cliquant sur le fichier exécutable (
.exe
). Il porte le même nom que votre projet dans Unreal Engine.Lorsque le projet se charge, une version de la carte de jeu par défaut s'affiche dans une fenêtre. Vous pouvez maintenant tester l'exécutable en vous déplaçant dans le niveau et en interagissant avec les objets à ramasser.
Pour quitter l'exécutable, ouvrez la ligne de commande de la console en jeu en appuyant sur la touche de l'accent grave (`). Dans la ligne de commande, tapez l'une des commandes de console suivantes et appuyez sur Entrée :
quit
exit
Pour quitter un exécutable lancé, la méthode peut varier en fonction du type de configuration de compilation utilisé. Par exemple, si vous utilisez la configuration Shipping (qui ne donne pas accès à la console en jeu), votre projet doit inclure une option d'interface utilisateur, par exemple un bouton, pour quitter l'application.
Pour plus d'informations sur les commandes de console dans Unreal Engine, consultez la section Référence des commandes de console.
Utiliser l'Unreal Automation Tool
L'Unreal Automation Tool (UAT) est un programme hôte doté d'un ensemble de bibliothèques de scripts utilitaires qui permettent d'automatiser des projets Unreal Engine.
Par exemple, lorsque vous empaquetez un projet, l'UAT exécute la commande BuildCookRun
, qui est le script sous-jacent pour toutes les opérations de compilation. Si vous avez suivi le tutoriel sur l'empaquetage d'un projet, vous avez déjà utilisé l'UAT.
L'UAT est notamment utile pour programmer en C# des processus autonomes, tels que la préparation et l'exécution de tests d'automatisation dans le cadre de pipelines d'intégration continue (CI).
Pour en savoir plus sur l'UAT, consultez la page Automation Tool Overview (Vue d'ensemble de l'outil d'automatisation.
Utiliser le lanceur de projet
Le lanceur de projet permet de créer des profils de lancement personnalisés. Ces profils automatisent le contrôle des opérations de compilation, de préparation, d'empaquetage et de déploiement pour plusieurs plateformes depuis un seul endroit. Cela améliore l'efficacité et l'itération du développement et des tests.
Pour accéder au lanceur de projet dans l'Unreal Engine, cliquez sur le bouton Plateformes dans la barre d'outils principale de l'Unreal Editor. Sous Options et paramètres, cliquez sur Lanceur de projet.
Pour en savoir plus sur l'utilisation du lanceur de projet, consultez la page Lanceur de projet.
Distribution de projet
La distribution (ou livraison) désigne la publication de votre auprès des utilisateurs sur des plateformes de distribution numérique. Elle a lieu en fin de pipeline de développement.
Selon la plateforme cible pour laquelle vous développez, plusieurs options de distribution numérique sont disponibles. Par exemple, les projets destinés aux plateformes de bureau peuvent être distribués via l'Epic Games Store ou Steam. À l'inverse, les projets destinés aux appareils iOS ou Android peuvent être publiés sur l'App Store ou le Google Play Store.
Chaque plateforme de distribution numérique possède son propre flux de travail, ses exigences techniques et ses accords juridiques spécifiques pour la livraison de projets. Publier un projet Unreal Engine sur l'Epic Games Store présente certains avantages. Pour en savoir plus sur la publication sur l'Epic Games Store, consultez la page Distribuer sur Epic Games.
Pour obtenir des informations générales sur les plateformes cibles et les options de distribution numérique, consultez la page Sharing and Releasing Projects (Partager et publier des projets).
Informations supplémentaires
Partager et publier des projets
Guides d'optimisation mobile
Lanceur de projet
Préparation de contenu
Préparation des ressources pour la segmentation
Conversion et segmentation
Référence des configurations de compilation
Référence des commandes de console
Serveur de stockage Zen