Unreal Build Tool (UBT) prend en charge la génération de plusieurs types de cibles :
Jeu : jeu autonome qui nécessite des données préparées pour s'exécuter.
Client : identique à Jeu, mais n'inclut pas de code de serveur. Utile pour les jeux en réseau.
Serveur : identique à Jeu, mais n'inclut pas de code client. Utile pour les serveurs dédiés dans les jeux en réseau.
Éditeur : cible qui étend les fonctionnalités de l'Unreal Editor.
Programme : utilitaire autonome créé à partir de l'Unreal Engine.
Les cibles sont déclarées par le biais des fichiers sources C# avec l'extension .target.cs. Elles sont stockées dans le répertoire racine de votre projet. Chaque fichier .target.cs déclare une classe dérivant de la classe de base TargetRules et définit des propriétés contrôlant son mode de génération à partir de son constructeur. Lorsque vous êtes invité à générer une cible, Unreal Build Tool compile votre fichier .target.cs et construit la classe qui s'y trouve afin de déterminer ses paramètres.
Le nom de la classe doit correspondre au nom du fichier dans lequel elle est déclarée, suivi de « Target » (par exemple, MyProject.target.cs définit la classe MyProjectTarget).
La structure typique d'un fichier cible est la suivante :
using UnrealBuildTool;
using System.Collections.Generic;
public class MyProjectTarget : TargetRules
{
public MyProjectTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
// Other properties go here
}
}Propriétés en lecture seule
$ OriginalName (chaîne) : renvoie le nom de la cible d'origine sans remplacement ni ornement.
$ IsTestTarget (booléen) : indique s'il s'agit d'une cible de tests de bas niveau.
$ ExplicitTestsTarget (booléen) : indique s'il s'agit d'une cible de test définie de manière explicite. Les cibles de test définies de manière explicite héritent toujours des règles TestTargetRules et définissent leurs propres tests. Les cibles de test implicites sont créées à partir de cibles existantes lors de la génération avec -Mode=Test. Elles incluent les tests de toutes les dépendances.
$ WithLowLevelTests (booléen) : contrôle la valeur de WITH_LOW_LEVEL_TESTS qui indique si les tests de bas niveau propres aux modules sont compilés ou non.
$ Architecture (UnrealArch) : spécifie l'architecture dans le cas normal où seule une architecture est présente dans les architectures (une exception est déclenchée si plusieurs architectures sont spécifiées).
$ bIWYU (booléen) : active la variable « include what you use » par défaut pour les modules de cette cible. Convertit le mode PCH par défaut de tous les modules de ce projet en PCHUsageMode.UseExplicitOrSharedPCHs.
$ DisableDebugInfoModules (HashSet<String>) : modules dont les informations de débogage doivent être désactivées.
$ DisableDebugInfoPlugins (HashSet<String>) : plug-ins dont les informations de débogage doivent être désactivées.
$ DebugInfoLineTablesOnlyModules (HashSet<String>) : modules qui doivent générer des tables de numéros de lignes au lieu d'informations de débogage complètes pour les compilateurs qui prennent en charge cette option. Ce paramètre remplace DisableDebugInfoModules.
$ DebugInfoLineTablesOnlyPlugins (HashSet<String>) : plug-ins qui doivent générer des tables de numéros de lignes au lieu d'informations de débogage complètes pour les compilateurs qui prennent en charge cette option. Ce paramètre remplace DisableDebugInfoPlugins.
$ MergePlugins (List<String>) : paramètre expérimental : liste des plug-ins (et leurs dépendances) fusionnés dans des bibliothèques distinctes. Pour appliquer ce paramètre, il est nécessaire d'activer bMergeModules.
$ MergePluginsShared (Dictionary<String, HashSet<String>>) : paramètre expérimental : liste des plug-ins fusionnés pour déplacer les dépendances communes vers une bibliothèque partagée ; le paramètre MergePlugins est requis. Il est possible de le chaîner.
$ MergePluginsLaunch (List<String>) : paramètre expérimental : liste de plug-ins fusionnés pour passer à l'exécutable principal. Le paramètre MergePlugins est requis. « Engine » pour tous les modules de moteur partagés et « Common » pour les modules de projet partagés.
$ GlobalDefinitions (List<String>) : macros à définir globalement sur une cible.
$ ProjectDefinitions (List<String>) : macros à définir sur toutes les macros du projet.
$ ExtraModuleNames (List<String>) : liste des modules supplémentaires à compiler dans la cible.
$ ManifestFileNames (List<FileReference>) : chemin d'accès à un manifeste à générer pour cette cible.
$ DependencyListFileNames (List<FileReference>) : chemin d'accès à une liste de dépendances pour cette cible, lors de la précompilation.
$ PreBuildTargets (List<TargetInfo>) : spécifie une liste de cibles devant être générées avant la génération de cette cible.
$ PreBuildSteps (List<String>) : spécifie une liste d'étapes devant être exécutées avant la génération de cette cible, dans le contexte du shell de la plateforme hôte. Les variables suivantes sont étendues avant l'exécution : $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
$ PostBuildSteps (List<String>) : spécifie une liste d'étapes devant être exécutées après la génération de cette cible, dans le contexte du shell de la plateforme hôte. Les variables suivantes sont étendues avant l'exécution : $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
$ AdditionalBuildProducts (List<String>) : détermine les produits de build supplémentaires générés dans le cadre de cette cible.
$ HostPlatform (UnrealTargetPlatform) : spécifie la plateforme hôte sur laquelle le build est créé.
$ bGenerateProjectFiles (booléen) : expose l'indicateur bGenerateProjectFiles aux cibles, afin de pouvoir modifier le comportement de façon à optimiser l'intelligence.
$ bShouldTargetRulesTogglePlugins (booléen) : indique si les règles de cible doivent être utilisées pour activer ou désactiver explicitement les plug-ins. Ce paramètre n'est généralement pas nécessaire pour la génération de projet, à moins que les fichiers de projet n'indiquent si les plug-ins référencés doivent être générés ou non.
$ bIsEngineInstalled (booléen) : expose un paramètre qui détermine si le moteur est installé ou non.
Propriétés en lecture/écriture
$ BuildPlugins (List<String>) : plug-ins supplémentaires créés pour ce type de cible, mais pas activés.
$ AdditionalPlugins (List<String>) : liste de plug-ins supplémentaires devant être inclus dans cette cible. Ce paramètre permet de référencer les modules de plug-in non facultatifs qui ne peuvent pas être désactivés, et permet de générer des modules spécifiques dans les cibles de programme qui n'entrent pas dans les catégories de ModuleHostType.
$ EnablePlugins (List<String>) : plug-ins supplémentaires à inclure pour cette cible.
$ DisablePlugins (List<String>) : liste des plug-ins à désactiver pour cette cible. Notez que, dans la mesure où le fichier de projet peut toujours les référencer, ils doivent être marqués comme facultatifs pour pouvoir les localiser au moment de l'exécution.
$ OptionalPlugins (List<String>) : plug-ins supplémentaires à inclure pour cette cible, s'ils sont trouvés.
$ InternalPluginDependencies (List<String>) : liste de noms de plug-ins qui sont autorisés à exister en tant que dépendances sans être définis dans le descripteur uplugin.
$ DisableMergingModuleAndGeneratedFilesInUnityFiles (String[]) : liste de modules qui désactivent la fusion des fichiers de module et de fichiers cpp générés dans les mêmes fichiers Unity.
$ bShowIncludes (booléen) : consigne les fichiers inclus par chaque fichier source.
$ DisableUnityBuildForModules (String[]) : liste des modules pour lesquels désactiver les builds Unity.
$ EnableOptimizeCodeForModules (String[]) : liste des modules pour lesquels activer les optimisations.
$ DisableOptimizeCodeForModules (String[]) : liste des modules pour lesquels désactiver les optimisations.
$ OptimizeForSizeModules (String[]) : liste des modules dont optimiser la taille. Cela permet à la cible de remplacer le niveau d'optimisation du module. Notez que l'utilisation du PCH peut être désactivée si un PCH privé n'est pas fourni
$ OptimizeForSizeAndSpeedModules (String[]) : liste des modules dont optimiser la taille et la vitesse. Cela permet à la cible de remplacer le niveau d'optimisation du module. Notez que l'utilisation du PCH peut être désactivée si un PCH privé n'est pas fourni
$ OptedInModulePlatforms (UnrealTargetPlatform[]) : si ce paramètre est non nul, les plateformes qui ne figurent PAS dans la liste ne sont pas autorisées à créer des modules dans leurs répertoires.
$ Name (chaîne) : nom de cette cible.
$ Logger (ILogger) : enregistreur pour les sorties relatives à cette cible. Définissez ce paramètre avant l'exécution du constructeur.
$ AdditionalData (Objet) : objet générique annulable permettant à un utilisateur de définir des données supplémentaires dans la règle de cible d'un projet et d'y accéder dans la règle de module d'un projet sans avoir à ajouter de nouvelles propriétés après la publication. Par exemple :
* in .Target.cs: AdditionalData = "data";
* in .Build.cs: if ((Target.AdditionalData as string) == "data") { ... }
$ Platform (UnrealTargetPlatform) : plateforme pour laquelle cette cible est générée.
$ Configuration (UnrealTargetConfiguration) : configuration en cours de génération.
$ Architectures (UnrealArchitectures) : architecture pour laquelle la cible est générée (ou chaîne vide pour la valeur par défaut).
$ IntermediateEnvironment (UnrealIntermediateEnvironment) : environnement intermédiaire. Détermine si les dossiers intermédiaires se retrouvent dans un dossier différent de celui habituel.
$ ProjectFile (FileReference) : chemin d'accès au fichier de projet pour le projet contenant cette cible.
$ Version (ReadOnlyBuildVersion) : version de build actuelle.
$ Type (TargetType) : type de cible.
$ DefaultBuildSettings (BuildSettingsVersion) : spécifie la version du moteur dont conserver les paramètres de build par défaut rétrocompatibles (p. ex., DefaultSettingsVersion.Release_4_23, DefaultSettingsVersion.Release_4_24). Spécifiez DefaultSettingsVersion.Latest pour utiliser systématiquement les valeurs par défaut de la version actuelle du moteur, au risque d'introduire des erreurs de build lors de la mise à niveau.
$ ForcedIncludeOrder (Nullable<EngineIncludeOrderVersion>) : force l'ordre d'inclusion vers une version spécifique. Remplace les règles de cible et de module.
$ IncludeOrderVersion (EngineincludeOrderVersion) : version de l'ordre d'inclusion à utiliser lors de la compilation de la cible. Il est possible de remplacer ce paramètre via -ForceIncludeOrder sur la ligne de commande. Le paramètre ModuleRules.IncludeOrderVersion est prioritaire.
$ OutputFile (chaîne) : chemin d'accès au fichier de sortie de l'exécutable principal, relatif au répertoire du moteur ou du projet. Ce paramètre n'est généralement utile que pour les programmes ne faisant pas partie de l'UE, car le moteur utilise des chemins relatifs à l'exécutable pour rechercher d'autres dossiers connus (p. ex., Content).
$ bUsesSteam (booléen) : indique si la cible utilise Steam.
$ bUsesCEF3 (booléen) : indique si la cible utilise CEF3.
$ bUsesSlate (booléen) : indique si le projet utilise l'IU Slate visuelle (contrairement au système de fenêtrage/messagerie de bas niveau, qui est toujours disponible).
$ bUseStaticCRT (booléen) : force la connexion avec le CRT statique. Ce paramètre n'est pas entièrement pris en charge sur l'ensemble du moteur, car les implémentations d'Allocator doivent être partagées (par exemple) et les bibliothèques TPS doivent être cohérentes les unes avec les autres. Cependant, il peut être utilisé pour des utilitaires.
$ bDebugBuildsActuallyUseDebugCRT (booléen) : active le moteur d'exécution C++ de débogage (CRT) pour les builds de débogage. Par défaut, nous utilisons toujours l’exécution en mode Release, car la version de débogage n’est pas particulièrement utile pour le débogage des projets Unreal Engine, et le lien avec les bibliothèques CRT de débogage oblige nos dépendances de bibliothèques tierces à être également compilées avec la CRT de débogage (ce qui entraîne souvent une baisse de performances). Il n'est souvent pas pratique d’exiger une copie séparée des versions de débogage des bibliothèques statiques tierces pour pouvoir déboguer le code du programme.
$ bLegalToDistributeBinary (booléen) : indique si la sortie de cette cible peut être distribuée publiquement, même si elle comporte des dépendances sur des modules qui se trouvent dans des dossiers avec des restrictions spéciales (par exemple : CarefullyRedist, NotForLicensees, NoRedist).
$ UndecoratedConfiguration (UnrealTargetConfiguration) : spécifie la configuration dont les fichiers binaires ne nécessitent pas de suffixe « -Platform-Configuration ».
$ DecoratedSeparator (chaîne) : spécifie le caractère de séparateur pour les noms de fichiers binaires.
$ bAllowHotReload (booléen) : indique si cette cible prend en charge la compilation à chaud.
$ bBuildAllModules (booléen) : génère tous les modules valides pour ce type de cible. Utilisé pour CIS et la création des builds installés du moteur.
$ VSTestRunSettingsFile (FileReference) : définissez ce paramètre pour référencer un fichier de paramètres d'exécution VSTest dans les projets générés.
$ bRuntimeDependenciesComeFromBuildPlugins (booléen) : si ce paramètre est défini sur true, la liste BuildPlugins est utilisée pour remplir les RuntimeDependencies, plutôt que EnablePlugins.
$ bAllowEnginePluginsEnabledByDefault (booléen) : si ce paramètre est défini sur false, il supprime le chargement des plug-ins du moteur « activés par défaut » qui ne sont pas explicitement activés dans le projet ou les fichiers cibles.
$ DisablePluginsConflictWarningLevel (WarningLevel) : mode de traitement des conflits lorsqu'un plug-in désactivé est activé par un autre plug-in qui le référence.
$ PakSigningKeysFile (chaîne) : chemin d'accès à l'ensemble de clés de signature pak à intégrer dans l'exécutable.
$ SolutionDirectory (chaîne) : permet à une cible de programme de spécifier son propre chemin d'accès au dossier de solution.
$ bGenerateProgramProject (booléen) : force le traitement d'une cible en tant que programme lors de la génération des fichiers du projet.
$ bExplicitTargetForType (booléen) : si ce paramètre est défini sur true, GetTargetNameByType ne prend pas en compte cette cible, ce qui supprime l'ambiguïté de -TargetType=X.
$ bBuildInSolutionByDefault (Nullable<Boolean>) : indique si la cible doit être incluse dans la configuration du build de la solution par défaut. Si ce paramètre est défini sur false, la création de build est ignorée lors de l'exécution dans l'IDE.
$ bShouldCompileAsDLL (booléen) : indique si la cible doit être compilée en tant que DLL. Le paramètre LinkType doit être défini sur TargetLinkType.Monolithic.
$ CustomConfig (chaîne) : sous-dossier supplémentaire à partir duquel charger les fichiers de configuration pour créer plusieurs types de builds avec la même plateforme. Ce paramètre sera précalculé dans l'exécutable du jeu en tant que CUSTOM_CONFIG et utilisé lors de l'étape de filtrage des fichiers et paramètres.
$ ExeBinariesSubFolder (chaîne) : sous-dossier dans lequel placer les exécutables par rapport à l'emplacement par défaut.
$ GeneratedCodeVersion (EGgeneratedCodeVersion) : autorise le module cible à remplacer la version de génération de code UHT.
$ bEnableMeshEditor (booléen) : indique s'il convient d'activer l'éditeur de maillage.
$ bUseVerseBPVM (booléen) : indique s'il convient d'utiliser BPVM pour exécuter Verse.
$ bUseAutoRTFMCompiler (booléen) : indique s'il convient d'utiliser le compilateur Clang AutoRTFM.
$ bForceNoAutoRTFMCompiler (booléen) : indique s'il convient de forcer la désactivation du compilateur Clang AutoRTFM.
$ bUseAutoRTFMVerifier (booléen) : indique s'il convient d'activer les métadonnées de vérification AutoRTFM.
$ bCompileChaos (booléen) : indique s'il convient de compiler le plug-in de physique Chaos.
$ bUseChaos (booléen) : indique s'il convient d'utiliser l'interface de physique Chaos. Ce paramètre remplace les indicateurs PhysX pour désactiver APEX et NvCloth.
$ bUseChaosChecked (booléen) : indique s'il convient de compiler les fonctionnalités de Chaos vérifiées à des fins de débogage.
$ bUseChaosMemoryTracking (booléen) : indique s'il convient d'effectuer la compilation dans les fonctionnalités de suivi de mémoire de Chaos.
$ bCompileChaosVisualDebuggerSupport (booléen) : indique s'il convient d'effectuer la compilation dans les fonctionnalités de prise en charge de Chaos Visual Debugger (CVD) pour enregistrer l'état de la simulation de physique.
$ bCustomSceneQueryStructure (booléen) : indique si l'accélération des requêtes de scène est effectuée par l'UE. La structure d'interrogation des scènes PhysX est toujours créée, mais n'est pas utilisée.
$ bCompilePhysX (booléen) : indique s'il convient d'inclure la prise en charge de PhysX.
$ bCompileAPEX (booléen) : indique s'il convient d'inclure la prise en charge de PhysX APEX.
$ bCompileNvCloth (booléen) : indique s'il convient d'inclure NvCloth.
$ bCompileICU (booléen) : indique s'il convient d'inclure la prise en charge d'ICU unicode/i18n dans Core.
$ bCompileCEF3 (booléen) : indique s'il convient de compiler la prise en charge de CEF3.
$ bCompileISPC (booléen) : indique s'il convient de compiler à l'aide du système ISPC.
$ bCompileIntelMetricsDiscovery (booléen) : indique s'il convient de compiler la fonction IntelMetricsDiscovery.
$ bCompilePython (Boolean) : indique s'il convient d'effectuer la compilation dans Python.
$ bUseGameplayDebugger (booléen) : indique s'il convient de compiler en activant WITH_GAMEPLAY_DEBUGGER avec toutes les catégories de débogueur de jeu par défaut du moteur.
$ bUseGameplayDebuggerCore (booléen) : ce paramètre est défini sur true lorsque bUseGameplayDebugger est défini sur false, mais que les parties principales de GameplayDebugger sont nécessaires.
$ bCompileIoStoreOnDemand (booléen) : indique s'il convient d'utiliser le magasin d'E/S à la demande.
$ bUseIris (booléen) : indique s'il convient d'utiliser Iris.
$ bTrackRHIResourceInfoForTest (booléen) : indique s'il convient de suivre le propriétaire (nom de la ressource) de la ressource RHI à des fins de configuration de test. Ce paramètre est utile pour les commandes ListShaderMaps et ListShaderLibraries.
$ bBuildEditor (booléen) : indique s'il convient de compiler le code de l'éditeur. Préférez le paramètre bCompileAginstEditor, plus explicite.
$ bBuildRequiresCookedData (booléen) : indique s'il convient de compiler le code associé à la génération de ressources. En règle générale, il est impossible de générer des ressources sur des consoles, mais il est possible de le faire sur des PC.
$ bBuildWithEditorOnlyData (booléen) : indique s'il convient d'effectuer la compilation en désactivant WITH_EDITORONLY_DATA. Seul Windows utilise ce paramètre, les autres plateformes le définissent de force sur false.
$ bBuildDeveloperTools (booléen) : indique s'il convient de compiler les outils de développeur.
$ bBuildTargetDeveloperTools (booléen) : indique s'il convient de compiler les outils de développeur pour les plateformes cibles ou les appareils connectés (par défaut : bBuildDeveloperTools).
$ bForceBuildTargetPlatforms (booléen) : indique s'il convient de forcer la compilation des modules de la plateforme cible, même s'ils ne sont pas générés en temps normal.
$ bForceBuildShaderFormats (booléen) : indique s'il convient de forcer la compilation des modules de shader, même s'ils ne sont pas générés en temps normal.
$ bNeedsExtraShaderFormatsOverride (Nullable<Boolean>) : remplacement pour l'inclusion de formats de shader supplémentaires.
$ bNeedsExtraShaderFormats (booléen) : indique s'il convient d'inclure des formats de shader supplémentaires. Par défaut, ce paramètre n'est activé que pour les cibles de programme et d'éditeur.
$ bCompileCustomBasilitePlatform (booléen) : indique s'il convient de compiler SQLite en utilisant la plateforme personnalisée « Unreal » (true) ou en utilisant la plateforme native (false).
$ bUseCache FreedOSAllocs (booléen) : indique s'il convient d'utiliser les allocations du SE libérées du cache avec MallocBinned.
$ bCompileAgainstEngine (booléen) : ce paramètre est activé pour tous les builds qui incluent le projet de moteur. Il n'est désactivé que lors de la génération d'applications autonomes liées uniquement au noyau.
$ bCompileAgainstCoreUObject (booléen) : ce paramètre est activé pour tous les builds qui incluent le projet CoreUObject. Il n'est désactivé que lors de la génération d'applications autonomes liées uniquement au noyau.
$ bCompileAgainstApplicationCore (booléen) : ce paramètre est activé pour les builds qui doivent initialiser le module ApplicationCore. Les utilitaires de ligne de commande n'en ont normalement pas besoin.
$ bEnableTrace (booléen) : ce paramètre est activé pour les builds qui souhaitent utiliser le module Trace à des fins de profilage et de diagnostic.
$ bForceEnableTrace (booléen) : force l'activation du traçage ; ce paramètre est utilisé pour permettre aux programmes de test de vérifier le traçage comme prévu.
$ bCompileAgainstEditor (booléen) : ce paramètre est activé pour les builds de l'éditeur (TargetType.Editor). Il est possible de le remplacer pour les programmes (TargetType.Program) qui doivent compiler avec le code de l'éditeur. Il n'est pas disponible pour les autres types de cibles. Il détermine principalement la valeur de WITH_EDITOR.
$ bCompileRecast (booléen) : indique s'il convient de compiler la génération du maillage de navigation Recast.
$ bCompileNavmeshSegmentLinks (booléen) : indique s'il convient d'effectuer la compilation avec les liens des segments du maillage de navigation.
$ bCompileNavmeshClusterLinks (booléen) : indique s'il convient d'effectuer la compilation avec les liens de cluster du maillage de navigation.
$ bCompileSpeedTree (booléen) : indique s'il convient d'effectuer la compilation pour la prise en charge SpeedTree.
$ bForceEnableExceptions (booléen) : active les exceptions pour tous les modules.
$ bUseInlining (booléen) : active l'inlining pour tous les modules.
$ bForceEnableObjCExceptions (booléen) : active les exceptions pour tous les modules.
$ bForceEnableRTTI (booléen) : active RTTI pour tous les modules.
$ bEnablePrivateBuildInformation (booléen) : ce paramètre active les paramètres de build pour contenir des informations privées sur le build, par exemple le nom de la machine, le nom d'utilisateur et le nom de domaine de l'utilisateur (exposé dans BuildSettings.h).
$ bEnablePIE (booléen) : active l'exécutable indépendant de la position (PIE). Ce paramètre implique des frais généraux.
$ bEnableStackProtection (booléen) : active la protection de pile. Ce paramètre implique des frais généraux.
$ bWithClientCode (booléen) : compile le code du client uniquement.
$ bWithServerCode (booléen) : compile le code du serveur uniquement.
$ bFNameOutlineNumber (booléen) : compile avec un FName stockant la partie numérique dans le tableau de noms. Permet d'économiser de la mémoire lorsque la plupart des noms ne sont pas numérotés et que ceux qui le sont sont référencés plusieurs fois. Le jeu et le moteur doivent assurer qu'ils réutilisent les noms numérotés de la même façon que les chaînes de nom pour éviter les fuites de mémoire.
$ bWithPushModel (booléen) : si ce paramètre est activé, la prise en charge de la gestion réseau du modèle Push est compilée. Cela permet de réduire la surcharge du processeur par la gestion réseau, au détriment d'une augmentation de l'utilisation de la mémoire. Ce paramètre est toujours activé dans les builds de l'éditeur.
$ bCompileWithStatsWithoutEngine (booléen) : indique s'il convient d'inclure la prise en charge des statistiques même sans le moteur.
$ bCompileWithPluginSupport (booléen) : indique s'il convient d'inclure la prise en charge des plug-ins.
$ bIncludePluginsForTargetPlatforms (booléen) : indique s'il convient d'autoriser les plug-ins qui prennent en charge toutes les plateformes cibles.
$ bCompileWithAccessibilitySupport (booléen) : indique s'il convient d'autoriser le code d'accessibilité dans Slate et dans la couche du SE.
$ bWithPerfCounters (booléen) : indique s'il convient d'inclure la prise en charge de PerfCounters.
$ bWithLiveCoding (booléen) : indique s'il convient d'activer la prise en charge du codage en direct.
$ bUseDebugLiveCodingConsole (booléen) : indique s'il convient d'activer la prise en charge du codage en direct.
$ bWithDirectXMath (booléen) : indique s'il convient d'activer la prise en charge de DirectX Math LWC_TODO : ce paramètre n'est plus pris en charge. À supprimer.
$ bWithFixedTimeStepSupport (booléen) : indique s'il convient d'activer la prise en charge de FixedTimeStep dans le moteur.
$ bUseLoggingInShipping (booléen) : indique s'il convient d'activer la journalisation pour les builds de test/à livrer.
$ bUseConsoleInShipping (booléen) : indique s'il convient d'activer la console pour les builds à livrer.
$ bLoggingToMemoryEnabled (booléen) : indique s'il convient d'activer la journalisation sur la mémoire pour les builds de test/à livrer.
$ bUseLauncherChecks (booléen) : indique s'il convient de vérifier que le processus a été lancé par un lanceur externe.
$ bUseChecksInShipping (booléen) : indique s'il convient d'activer les vérifications (assertions) pour les builds de test/à livrer.
$ bAllowProfileGPUInTest (booléen) : indique s'il convient d'activer les marqueurs du processeur graphique pour les builds de test.
$ bAllowProfileGPUInShipping (booléen) : indique s'il convient d'activer les marqueurs du processeur graphique pour les builds à livrer.
$ bTCHARIsUTF8 (booléen) : indique s'il convient d'activer le mode UTF-8, en mappant TCHAR sur UTF8CHAR.
$ bUseEstimatedUtcNow (booléen) : indique s'il convient d'utiliser EstimatedUtcNow ou PlatformUtcNow.. EstimatedUtcNow est adapté dans les cas où PlatformUtcNow peut s'avérer lent.
$ bCompilefreeType (booléen) : ce paramètre est défini sur true si la prise en charge de FreeType est nécessaire.
$ bUseExecCommandsInShipping (booléen) : indique s'il convient d'autoriser les commandes d'exécution pour les builds à livrer.
$ bCompileForSize (booléen) : ce paramètre est défini sur true s'il faut privilégier l'optimisation de la taille plutôt que de la vitesse.
$ OptimizationLevel (OptimizationMode) : permet d'optimiser le niveau d'optimisation de la vitesse et/ou de la taille du code.
$ FPSemantics (FPSemanticsMode) : permet de paramétrer la sémantique FP.
$ bForceCompileDevelopmentAutomationTests (booléen) : indique s'il convient de compiler les tests d'automatisation de développement.
$ bForceCompilePerformanceAutomationTests (booléen) : indique s'il convient de compiler les tests d'automatisation des performances.
$ bForceDisableAutomationTests (booléen) : indique s'il convient de remplacer les paramètres par défaut pour les tests d'automatisation (configurations de débogage/développement).
$ bEventDrivenLoader (booléen) : si ce paramètre est défini sur true, le chargeur basé sur les événements est utilisé dans les builds préparés. @todoio Ce paramètre doit être remplacé par une solution d'exécution après la refactorisation du chargement asynchrone.
$NativePointerMemberBehaviorOverride (Nullable<PointerMemberBehavior>) : ce paramètre est utilisé pour remplacer le comportement qui contrôle si les UCLASS et les USTRUCT sont autorisés à posséder des membres de pointeur natifs. S'ils ne sont pas autorisés, ils génèrent une erreur UHT et doivent être remplacés par des membres TObjectPtr.
$ bUseXGEController (booléen) : indique si le worker et les modules du contrôleur XGE doivent être inclus dans le build du moteur. Ils sont nécessaires pour la compilation des shaders distribués qui utilisent l'interface d'interception XGE.
$ bIncludeHeaders (booléen) : ajoute des fichiers d'en-tête dans les modules inclus au build.
$ bHeadersOnly (booléen) : lorsque ce paramètre est utilisé avec -includeHeaders, seuls les fichiers d'en-tête sont compilés.
$ bEnforceIWYU (booléen) : active les règles « include what you use » ; renvoie un avertissement si des en-têtes monolithiques (Engine.h, UnrealEd.h, etc.) sont utilisés et vérifie que les fichiers sources incluent d'abord l'en-tête correspondant.
$ bWarnAaboutMonolithicHeadersIncluded (Boolean) : déclenche un avertissement lorsqu'un en-tête monolithique ancien est inclus lors de la compilation de cette cible.
$ bHasExports (booléen) : indique si l'exécutable final doit exporter les symboles.
$ bPrecompile (booléen) : crée des bibliothèques statiques pour tous les modules du moteur en tant qu'intermédiaires pour cette cible.
$ bEnableOSX109Support (booléen) : détermine s'il convient d'effectuer la compilation avec la prise en charge de OS X 10.9 Mavericks. Ce paramètre est utilisé pour certains outils qui doivent être compatibles avec cette version d'OS X.
$ bIsBuildingConsoleApplication (booléen) : ce paramètre est défini sur true si l'application de console est en cours de génération.
$ bBuildAdditionalConsoleApp (booléen) : si ce paramètre est défini sur true, une application de console supplémentaire est créée. Conseil pour Windows : s'il n'est pas possible d'hériter de manière conditionnelle de la fenêtre de console d'un parent en fonction du mode d'appel de l'application, il est nécessaire de lier le même exécutable avec un paramètre de sous-système différent.
$ bBuildConsoleAppOnly (Boolean) : si ce paramètre est défini sur true, une seule application de console supplémentaire est créée. Ce paramètre remplace bBuildAdditionalConsoleApp.
$ bDisableSymbolCache (booléen) : ce paramètre est défini sur true si les symboles de débogage mis en cache pour certaines plateformes ne doivent pas être créés.
$ bUseUnityBuild (booléen) : indique s'il convient d'unifier le code C++ dans des fichiers plus volumineux pour une compilation plus rapide.
$ bForceUnityBuild (booléen) : indique s'il convient de forcer la combinaison des fichiers sources C++ en fichiers plus volumineux pour une compilation plus rapide.
$ bMergeModuleAndGeneratedUnityFiles (booléen) : indique s'il convient de fusionner les fichiers de module et les fichiers Unity générés pour une compilation plus rapide.
$ bUseAdaptiveUnityBuild (booléen) : utilise un algorithme heuristique pour déterminer les fichiers faisant l'objet d'une itération et les exclure des taches Unity. Cela se traduit par des temps de compilation incrémentielle plus rapides. L'implémentation actuelle utilise l'indicateur de lecture seule pour distinguer l'ensemble de travail, en supposant que les fichiers soient autorisés en lecture par le système de contrôle de source s'ils sont modifiés. Cela est vrai pour Perforce, mais pas pour Git.
$ bAdaptiveUnityDisablesOptimizations (booléen) : désactive l'optimisation pour les fichiers qui se trouvent dans l'ensemble de travail adaptatif ne faisant pas partie d'Unity.
$ bAdaptiveUnityDisablesPCH (booléen) : désactive les PCH inclus de force pour les fichiers qui se trouvent dans l'ensemble de travail adaptatif ne faisant pas partie d'Unity.
$ bAdaptiveUnityDisablesProjectPCHForProjectPrivate (Nullable<Boolean>) : stockage de secours associé à bAdaptiveUnityDisablesProjectPCH.
$ bAdaptiveUnityDisablesPCHForProject (booléen) : indique s'il convient de désactiver les PCH inclus de force pour les fichiers sources du projet qui se trouvent dans l'ensemble de travail adaptatif non Unity. Ce paramètre est par défaut défini sur bAdaptiveUnityDisablesPCH.
$ bAdaptiveUnityCreatesDedicatedPCH (booléen) : crée un PCH dédié pour chaque fichier source de l'ensemble de travail, ce qui permet une itération plus rapide pour les modifications en C++.
$ bAdaptiveUnityEnablesEditAndContinue (booléen) : crée un PCH dédié pour chaque fichier source de l'ensemble de travail, ce qui permet une itération plus rapide pour les modifications en C++.
$ bAdaptiveUnityCompilesHeaderFiles (booléen) : crée un fichier source dédié pour chaque fichier d'en-tête de l'ensemble de travail afin de détecter les inclusions manquantes dans les en-têtes.
$ MinGameModuleSourceFilesForUnityBuild (Int32) : nombre de fichiers sources dans un module de jeu avant que le build Unity soit activé pour ce module. Cela permet aux petits modules de jeu d’avoir des temps de compilation itératifs plus rapides pour les fichiers uniques, au détriment de temps de recompilation complète plus longs. Ce paramètre peut être remplacé par l'option bFasterWithoutUnity dans le fichier Build.cs d'un module.
$ DefaultWarningLevel (WarningLevel) : traitement par défaut des avertissements sans catégorie.
$ bRequireObjectPtrForAddReferencedObjects (booléen) : exige l'utilisation de TObjectPtr pour les API de FReferenceCollector. (Nécessaire pour la compatibilité avec la CG incrémentielle).
$ bValidateFormatStrings (booléen) : génère des erreurs de compilation pour les chaînes de format UE_LOG incorrectes.
$ DepreciationWarningLevel (WarningLevel) : niveau à partir duquel les avertissements d'obsolescence sont signalés comme des erreurs.
$ ShadowVariableWarningLevel (WarningLevel) : force le traitement des avertissements de variable d'ombre en tant qu'erreurs sur les plateformes qui les prennent en charge.
$ bWarningsAsErrors (booléen) : indique s'il convient d'activer tous les avertissements en tant qu'erreurs. L’UE active déjà la plupart des avertissements en tant qu'erreurs, mais en désactive certaines (comme les avertissements d’obsolescence).
$ UnsafeTypeCastWarningLevel (WarningLevel) : indique le niveau d'avertissement/d'erreur auquel traiter les projections de type à risque sur les plateformes qui le prennent en charge (par exemple, double-> float ou int64->int32).
$ bUndefinedIdentifierErrors (booléen) : force l'utilisation d'identificateurs non définis dans les expressions conditionnelles à traiter comme des erreurs.
$ UndefinedIdentifierWarningLevel (WarningLevel) : indique le niveau d'avertissement/d'erreur auquel traiter les identificateurs non définis dans les expressions conditionnelles.
$ PCHPerformanceIssueWarningLevel (WarningLevel) : indique le niveau d'avertissement/d'erreur auquel traiter les problèmes potentiels de performances de PCH.
$ ModuleIncludePathWarningLevel (WarningLevel) : indique comment traiter les messages de validation de chemin d'inclusion de module général.
$ ModuleIncludePrivateWarningLevel (WarningLevel) : indique comment traiter les messages de validation de chemin d'inclusion de module privé, où un module ajoute un chemin d'inclusion qui expose les en-têtes privés.
$ ModuleIncludeSubdirectoryWarningLevel (WarningLevel) : indique comment traiter les messages de validation de chemin d'inclusion de sous-répertoire de modules inutiles.
$ bRetainFramePointers (booléen) : force la conservation des pointeurs d'image, ce qui est généralement nécessaire pour obtenir des piles d'appels fiables, p. ex., mallocframeprofiler
$ bRetainFramePointersOverride (Nullable<Boolean>) : force la conservation des pointeurs d'image, ce qui est généralement nécessaire pour obtenir des piles d'appels fiables, par exemple mallocframeprofiler
$ bUseFastMonoCalls (booléen) : les nouveaux pilotes graphiques monolithiques disposent d'options d'appels rapides qui remplacent diverses fonctions D3d.
$ NumIncludedBytesPerUnityCPP (Int32) : nombre approximatif d'octets de code C++ à cibler pour l'inclusion dans un seul fichier C++ unifié.
$ bDisableModuleNumIncludedBytesPerUnityCPPOverride (booléen) : désactive les remplacements définis par le module.
$ bStressTestUnity (booléen) : indique s'il convient de tester la robustesse du build C++ Unity en incluant tous les fichiers C++ d'un projet à partir d'un seul fichier unifié.
$ bDetailedUnityFiles (booléen) : indique s'il convient d'ajouter des informations supplémentaires aux fichiers Unity, comme « _sur_X » dans le nom du fichier. Non recommandé.
$ bForceDebugInfo (booléen) : indique s'il convient de forcer la génération d'informations de débogage.
$ bDisableDebugInfo (booléen) : indique s'il convient de désactiver globalement la génération d'informations de débogage ; obsolète, utilisez plutôt TargetRules.DebugInfoMode.
$ DebugInfo (DebugInfoMode) : quantité d'informations de débogage à générer. Consultez l’enum DebugInfoMode pour plus d’informations.
$ DebugInfoLineTablesOnly (DebugInfoMode) : définissez ce paramètre sur true si seules les tables de numéros de lignes de débogage doivent être générées dans les informations de débogage pour les compilateurs qui prennent en charge cette option. Remplace TargetRules.DebugInfo. Voir https://clang.llvm.org/docs/UsersManual.html#cmdoption-gline-tables-only pour plus d'informations
$ bDisableDebugInfoForGeneratedCode (booléen) : indique s'il convient de désactiver la génération d'informations de débogage pour les fichiers générés. Cela améliore les temps de liaison et réduit de taille des fichiers pdb pour les modules comportant beaucoup de code intermédiaire généré.
$ bOmitPCDebugInfoInDevelopment (booléen) : indique s'il convient de désactiver les informations de débogage sur PC/Mac dans les builds de développement (pour un cycle d'itération plus rapide, car les temps de liaison sont extrêmement rapides quand les informations de débogage sont désactivées).
$ bUsePDBFiles (booléen) : indique si les fichiers PDB doivent être utilisés pour les builds Visual C++.
$ bUsePCHFiles (booléen) : indique si les fichiers PCH doivent être utilisés.
$ bDeterministic (booléen) : définit les indicateurs nécessaires pour la compilation et la liaison déterministes. L’activation du mode déterministe pour msvc désactive le multithread de génération de code, ce qui ralentit la compilation
$ bChainPCHs (booléen) : indique si les PCH doivent être chaînés lors de la compilation avec Clang.
$ bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled (booléen) : indique si les en-têtes PCH doivent être inclus de force pour les fichiers gen.cpp lorsque PCH est désactivé.
$ bPreprocessOnly (booléen) : indique s'il convient de prétraiter les fichiers sources pour cette cible et d'ignorer la compilation.
$ bPreprocessDepends (booléen) : génère des fichiers de dépendance lors du prétraitement. Cette option n’est recommandée que pour la distribution de builds, car elle ajoute des temps système supplémentaires.
$ bWithAssembly (booléen) : indique s'il convient de générer des données d'assemblage lors de la compilation de la cible. Fonctionne exclusivement avec MSV pour l'instant.
$ bAllowUbaCompression (booléen) : paramètre expérimental : enregistre l'objet (.obj) compressé sur le disque. Liaison UBA requise ; actuellement, MSCV uniquement. Lorsque cet indicateur est activé, les actions MSV sont invalidées. Avertissement : cette option n'est pas encore compatible avec la fonction PGO ou l'éditeur de liens cl-clang, car ceux-ci ne sont pas détournés et la liaison échouera.
$ StaticAnalyzer (StaticAnalyzer) : indique si l'analyse du code statique doit être activée.
$ StaticAnalyzerOutputType (StaticAnalyzerOutputType) : type de sortie à utiliser pour l'analyseur statique. Cette option n'est prise en charge que pour Clang.
$ StaticAnalyzerMode (StaticAnalyzerMode) : mode à utiliser pour l'analyseur statique. Cette option n'est prise en charge que pour Clang. Le mode Shallow (allégé) s’exécute plus rapidement, mais son utilisation est généralement déconseillée.
$ StaticAnalyzerPVSPrintLevel (Int32) : niveau d'avertissements à afficher lors de l'analyse avec PVS-Studio.
$ bStaticAnalyzerProjectOnly (booléen) : exécute l'analyse statique uniquement sur les modules du projet, en ignorant les modules du moteur.
$ bStaticAnalyzerIncludeGenerated (booléen) : lorsque ce paramètre est activé, les fichiers sources générés sont analysés.
$ MinFilesUsingPrecompiledHeader (Int32) : nombre minimal de fichiers qui doivent utiliser un en-tête précompilé avant d'être créés et utilisés.
$ bForcePrecompiledHeaderForGameModules (booléen) : si ce paramètre est activé, un en-tête précompilé est toujours généré pour les modules de jeu, même si le module ne contient que quelques fichiers sources. Cela améliore considérablement les temps de compilation pour les modifications itératives de quelques fichiers du projet, au détriment des temps de recompilation complète des projets de jeu de plus petite taille. Ce paramètre peut être remplacé en définissant MinFilesUsingPrecompiledHeaderOverride dans le fichier Build.cs d'un module.
$ bUseIncrementalLinking (booléen) : indique s'il convient d'utiliser la liaison incrémentielle. La liaison incrémentielle permet d'obtenir des temps d'itération plus rapides lors de modifications mineures. Elle est actuellement désactivée par défaut, car elle a tendance à générer des bogues sur certains ordinateurs (erreurs de compilation liées aux fichiers PDB).
$ bAllowLTCG (booléen) : indique s'il convient d'autoriser l'utilisation de la génération de code à l'édition de liens (LTCG).
$ bPreferThinLTO (booléen) : lorsque la génération de code à l'édition de liens (LTCG) est activée, indique s'il convient de privilégier la version allégée sur les plateformes compatibles.
$ ThinLTOCacheDirectory (chaîne) : répertoire où placer le cache ThinLTO sur les plateformes compatibles.
$ ThinLTOCachePruningArguments (chaîne) : arguments qui seront appliqués pour purger le cache LightLTO sur les plateformes compatibles. Les arguments ne sont appliqués que si l’option ThinLTOCacheDirectory est définie.
$ bPGOProfile (booléen) : indique s'il convient d'activer l'instrumentation pour l'optimisation guidée par profil (PGO) dans ce build.
$ bPGOOptimize (booléen) : indique s'il convient d'optimiser ce build avec l'optimisation guidée par profil (PGO).
$ bCodeCoverage (booléen) : indique si la cible nécessite une compilation et un lien avec la couverture de code.
$ bSupportEditAndContinue (booléen) : indique s'il convient de prendre en charge la modification et continuer.
$ bOmitFramePointers (booléen) : indique s'il convient d'omettre les pointeurs d'image. La désactivation est utile par exemple pour le profilage de la mémoire sur le PC.
$ bCompressDebugFile (booléen) : indique s'il convient de compresser les fichiers de débogage.
$ bEnableCppModules (booléen) : indique s'il convient d'activer la prise en charge des modules C++20.
$ bEnableCppCoroutinesForEvaluation (booléen): indique s'il convient d'activer la prise en charge des coroutines C++. Ce paramètre est fourni pour faciliter l'évaluation de la fonctionnalité. Le nom de cette option doit être modifié. L'utilisation de coroutines dans l'UE n'a pas encore été testée et n'est pas prise en charge.
$ bEnableProcessPriorityControl (booléen) : indique s'il convient d'activer la capacité du moteur de définir la priorité des processus à l'exécution. Cette option nécessite la configuration d'un environnement sur Linux. C'est pourquoi elle est désactivée par défaut. Le projet doit intégrer cette fonctionnalité , car elle doit garantir une configuration correcte.
$ bUseMallocProfiler (Boolean) : si ce paramètre est défini sur true, il active le profilage de mémoire dans le build (définit USE_MALLOC_PROFILER=1 et force bOmitFramePointers=false).
$ bShaderCompilerWorkerTrace (booléen) : si ce paramètre est défini sur true, il active le profilage Unreal Insights (utrace) dans le build pour l'outil Shader Compiler Worker (définit USE_SHADER_COMPILER_WORKER_TRACE=1).
$ bUseSharedPCHs (booléen) : active la fonctionnalité « PCH partagés », qui accélère considérablement les temps de compilation en essayant de partager certains fichiers PCH entre les modules détectés par UBT, notamment les fichiers d'en-tête de PCH.
$ bUseShippingPhysXLibraries (booléen) : ce paramètre est défini sur true si les builds de développement et de publication doivent utiliser la configuration de publication de PhysX/APEX.
$ bUseCheckedPhysXLibraries (booléen) : ce paramètre est défini sur true si les builds de développement et de publication doivent utiliser la configuration vérifiée de PhysX/APEX. si bUseShippingPhysXLibraries est activé, cette option est ignorée.
$ bCheckLicenseViolations (booléen) : indique à UBT de vérifier si le module en cours de génération enfreint le CLUF.
$ bBreakBuildOnLicenseViolation (booléen) : indique à UBT d'interrompre le build si le module en cours de génération enfreint le CLUF.
$ bUseFastPDBLinking (Nullable<Boolean>) : indique s'il convient d'utiliser l'option :FASTLINK lors de la création de builds avec /DEBUG pour créer des fichiers PDB locaux sur Windows. Rapide, mais semble actuellement rencontrer des problèmes pour trouver les symboles dans le débogueur.
$ bCreateMapFile (booléen) : génère un fichier de mappage dans le cadre du build.
$ bAllowRuntimeSymbolFiles (booléen) : ce paramètre est défini sur true si les fichiers de symboles d'exécution doivent être générés comme étape postérieure au build pour certaines plateformes. Ces fichiers sont utilisés par le moteur pour résoudre les noms de symboles des traces de pile d'appels dans les journaux.
$ PackagePath (chaîne) : chemin d'accès complet au paquet (répertoire + nom de fichier) où stocker les fichiers d'entrée utilisés lors de l'édition des liens. Utilisé normalement pour déboguer un blocage de l'éditeur de liens sur les plateformes qui le prennent en charge
$ CrashDiagnosticDirectory (chaîne) : répertoire de stockage des fichiers de rapport de blocage pour les plateformes qui le prennent en charge
$ BundleVersion (chaîne) : version du bundle pour les applications Mac.
$ bDeployAfterCompile (booléen) : indique s'il convient de déployer l'exécutable après la compilation sur les plateformes qui nécessitent un déploiement.
$ bAllowRemotelyCompiledPCHs (booléen) : si ce paramètre est défini sur true, il permet à XGE de compiler les fichiers d'en-tête précompilés sur les machines distantes. Sinon, les PCH sont toujours générés localement.
$ bUseHeaderUnitsForPch (booléen) : remplace pch par ifc et utilise à la place les unités d'en-tête. Il s'agit d'une fonctionnalité expérimentale réservée à msvc.
$ bCheckSystemHeadersForModification (booléen) : indique s'il convient de vérifier pour modification les en-têtes des chemins d'accès du système lors de la détection des actions obsolètes.
$ bDisableLinking (booléen) : indique s'il convient de désactiver la liaison pour cette cible.
$ bIgnoreBuildOutputs (booléen) : indique s'il convient d'ignorer le suivi des sorties de build pour cette cible.
$ bDisableEngineDepreciations (booléen) : indique s'il convient de désactiver les avertissements d'obsolescence de UE_DEPRECATED_FORENGINE dans les modules non liés au moteur. Ce paramètre ne doit être utilisé qu'à court terme, car ces obsolescences seront supprimées.
$ b FormalBuild (booléen) : indique qu'il s'agit d'un build formel, destiné à la distribution. Cet indicateur est automatiquement défini sur true lorsque Build.version possède une liste des modifications et qu'il s'agit d'un build promu. Le seul comportement actuellement lié à cet indicateur consiste à compiler le fichier de ressource par défaut séparément pour chaque binaire afin que le champ OriginalFilename soit correctement défini. Par défaut, la ressource n'est compilée qu'une seule fois pour réduire les temps de build.
$ bFlushBuildDirOnRemoteMac (booléen) : indique s'il convient de nettoyer le répertoire Builds sur un Mac distant avant la création de builds.
$ bPrintToolChainTimingInfo (booléen) : indique s'il convient d'enregistrer les informations de synchronisation détaillées du compilateur et de l'éditeur de liens.
$ bParseTimingInfoForTracing (booléen) : indique s'il convient d'analyser les données de synchronisation dans un fichier de traçage compatible avec chrome://tracing.
$ bPublicSymbolsByDefault (booléen) : indique s'il convient d'exposer tous les symboles comme étant publics par défaut sur les plateformes POSIX
$ bDisableInlinerGenCpps (booléen) : désactive les prises en charge de l'inlining gen.cpps
$ ToolChainName (chaîne) : permet de remplacer la chaîne d'outils à créer pour cette cible. La fonction doit correspondre au nom d'une classe déclarée dans l'assemblage UnrealBuildTool.
$ MSVCCompileActionWeight (unique) : pondération (utilisation du processeur/de la mémoire) d'une action de compilation MSVC.
$ ClangCompileActionWeight (unique) : pondération (utilisation du processeur/de la mémoire) d'une action de compilation Clang.
$ bDisableUnverified Certificates (booléen) : indique s'il convient d'autoriser la configuration du moteur à déterminer si le chargement de certificats non vérifiés est possible.
$ bAllowGeneratedIni QuandCooked (booléen) : indique s'il convient de charger les fichiers ini générés dans le build préparé, (GameUserSettings.ini chargé dans les deux cas).
$ bAllowNonUFSIni WhenCooked (booléen) : indique s'il convient de charger des fichiers ini non UF dans le build préparé, (GameUserSettings.ini chargé dans les deux cas).
$ bLegacyPublicIncludePaths (booléen) : ajoute tous les dossiers publics en tant que chemins d'accès d'inclusion pour l'environnement de compilation.
$ bLegacyParentincludePaths (booléen) : ajoute tous les dossiers parents en tant que chemins d'accès d'inclusion pour l'environnement de compilation.
$ CppStandardEngine (CppStandardVersion) : norme C++ à utiliser pour compiler cette cible (pour les modules du moteur).
$ CppStandard (CppStandardVersion) : norme C++ à utiliser pour compiler cette cible (pour les modules non liés au moteur).
$ CStandard (CStandardVersion) : norme C à utiliser pour compiler cette cible.
$ MinCpuArchX64 (MinimumCpuArchitectureX64) : ordonne au compilateur de générer des instructions AVX partout où des intrinsèques SSE ou AVX sont utilisées, sur les plateformes x64 qui les prennent en charge. Ignorée pour ARM64. Notez qu’en activant cette option, vous modifiez la configuration minimale des plateformes cibles et l’exécutable qui en découle peut planter sur les machines ne prenant pas en charge AVX.
$ BuildVersion (chaîne) : chaîne de version du build.
$ LinkType (TargetLinkType) : détermine le mode de liaison des modules dans cette cible (monolithique ou modulaire). Ce paramètre est actuellement protégé pour des raisons de rétrocompatibilité. Appelez l'accesseur GetLinkType() jusqu'à ce que la prise en charge du remplacement obsolète ShouldCompileMonolithic() ait été supprimée.
$ bStripExports (booléen) : paramètre expérimental : supprime les exportations inutilisées des bibliothèques. S'applique uniquement lorsque LinkType est modulaire.
$ bMergeModules (booléen) : paramètre expérimental : fusionne des modules modulaires dans des bibliothèques combinées. Définit LinkType sur Modulaire et active bStripExports.
$ LaunchModuleName (chaîne) : détermine le nom du module de lancement. Pour les builds modulaires, il s'agit du module compilé dans l'exécutable de la cible.
$ ExportPublicHeader (chaîne) : spécifie le chemin d'écriture d'un en-tête contenant les définitions publiques de cette cible. Ce paramètre est utile lors de la création d'une DLL destinée à être consommée dans des processus de build externes.
$ BuildEnvironment (TargetBuildEnvironment) : spécifie l'environnement de build de cette cible. Consultez la section TargetBuildEnvironment pour en savoir plus sur les options disponibles.
$ bAllowSDKOverrideModulesWithSharedEnvironment (booléen) : si ce paramètre est défini sur true, une cible d'environnement de build partagé permet à tous les modules sensibles à la version du SDK de disposer d'un module côté projet lorsqu'un SDK est remplacé. Par exemple, si IOSTargetPlatform, qui est marqué comme pertinent pour la version du SDK d'iOS, est compilé pour une cible avec cette option définie sur true, et que cette cible remplace le SDK d'iOS, cela se compilerait, p. ex., MyProject/Binaries/Win64/IOS/MyProject-IOSTargetPlatform.dll
$ bOverrideBuildEnvironment (booléen) : indique s'il convient d'ignorer les violations de l'environnement de build partagé (p. ex., l'éditeur cible les définitions de modification).
$ AdditionalCompilerArguments (chaîne) : arguments supplémentaires à transmettre au compilateur.
$ AdditionalLinkerArguments (chaîne) : arguments supplémentaires à transmettre à l'éditeur de liens.
$ MemoryPerActionGB (double) : quantité maximale de mémoire que peut nécessiter chaque action de compilation. Ce paramètre est utilisé par ParallelExecutor pour déterminer le nombre maximal d'actions parallèles à lancer simultanément.
$ GeneratedProjectName (chaîne) : lors de la génération des fichiers de projet, spécifie le nom du fichier de projet à utiliser lorsqu'il existe plusieurs cibles du même type.