Module sind die Bausteine von Unreal Engine. Die Engine wird als eine große Sammlung von Modulen implementiert, und Spiele liefern ihre eigenen Module, um diese zu erweitern. Jedes Modul beinhaltet eine Reihe von Funktionalität und kann ein öffentlich Interface und eine kompilieren (mit Makros, umfassen Pfaden und so weiter) zur Nutzung durch andere Module bieten.
Module werden über C# Quelldateien mit der .build.cs-Erweiterung deklariert und im Quellverzeichnis Ihres Projekts gespeichert. Der C++ Quellcode eines Moduls wird neben der .build.cs-Datei oder in einem Unterverzeichnis davon gespeichert. Jede .build.cs-Datei deklariert eine Klasse, die von der ModuleRules-Basis-Klasse abgeleitet wird, und setzt Eigenschaften, die von ihrem Constructor aus steuern, wie sie erstellt werden sollte. Diese .build.cs -Dateien werden mit dem Unreal Build Tool (UBW (UnrealBauWerkzeug)) kompiliert und konstruiert, um die allgemeine kompilieren festzulegen.
Die typische Struktur einer .build.cs-Datei sieht wie folgt aus.
using UnrealBuildTool;
using System.Collections.Generic;
public class MyModule : ModuleRules
{
public MyModule(ReadOnlyTargetRules Target) : base(Target)
{
// Properties and settings go here
}
}Schreibgeschützte Eigenschaften
$ IsPlugin (Boolean): True, wenn ein Plugin dieses Modul enthält
$ Logger (ILogger): Zugangskennung für den Ziel-Logger
$ HasPackageOverride (Boolean): Gibt True aus, wenn in diesem Modul ein überschreiben angegeben hat
$ ForceIncludeFiles (Liste<String>): Header-Dateien, die für jede Quelldatei in diesem Modul zwangsweise enthalten sein sollten.
$ SDKVersionRelevantPlatforms (Liste<UnrealTargetPlatform>): Wenn dies eine Plattform enthält und die SDK-Version des Projekts vom Standard überschrieben wurde, wird dieses Modul als Projektmodul anstatt als gemeinsam genutztes Engine-Modul kompiliert.
$ StaticAnalyzerCheckers (HashSet<String>): Die statischen Analysierer, die aktiviert werden sollten anstatt der Standardwerte. Dies wird nur für Clang unterstützt. Eine vollständige Liste der Werte finden Sie hier: https://clang.llvm.org/docs/analyzer/checkers.html. Oder führen Sie Folgendes aus: 'Clang -Xclang -analyzer-checker-Hilfe' oder: 'Clang -Xclang -analyzer-checker-Hilfe-alpha' für die Liste der experimentellen Checker.
$ StaticAnalyzerDisabledCheckers (HashSet<String>): Die Standard-Checkers des statisch Analyzers, die deaktiviert werden sollten. Nicht verwendet, wenn StaticAnalyzerCheckers bevölkert ist. Dies wird nur für Clang unterstützt. Eine vollständige Liste der Werte finden Sie hier: https://clang.llvm.org/docs/analyzer/checkers.html. Oder führen Sie Folgendes aus: 'Clang -Xclang -analyzer-checker-Hilfe' oder: 'Clang -Xclang -analyzer-checker-Hilfe-alpha' für die Liste der experimentellen Checker.
$ StaticAnalyzerAdditionalCheckers (HashSet<String>): Die nicht-Standard-Prüfer für die statisch Analyse, die aktiviert werden sollten. Nicht verwendet, wenn StaticAnalyzerCheckers bevölkert ist. Dies wird nur für Clang unterstützt. Eine vollständige Liste der Werte finden Sie hier: https://clang.llvm.org/docs/analyzer/checkers.html. Oder führen Sie Folgendes aus: 'Clang -Xclang -analyzer-checker-Hilfe' oder: 'Clang -Xclang -analyzer-checker-Hilfe-alpha' für die Liste der experimentellen Checker.
$ StaticAnalyzerPVSDisabledErrors (HashSet<String>): Die PVS Studio-Analysefehler, die deaktiviert werden sollten.
$ AutoSdkDirectory (String): Das AutoSDK Verzeichnis für die aktive Host Plattform
$ EngineDirectory (String): Das aktuelle Engine Verzeichnis
$ PluginDirectory (String): Eigenschaft für das Verzeichnis, das dieses Plugin enthält. Nützlich zum Hinzufügen von Pfaden zu Abhängigkeiten von Drittpartei.
$ ModuleDirectory (String): Eigenschaft für das Verzeichnis, das dieses Modul enthält. Nützlich zum Hinzufügen von Pfaden zu Abhängigkeiten von Drittpartei.
$ TestsDirectory (String): Gibt das Low-Level-Verzeichnis "Tests" des Moduls zurück.
$ IsVcPackageSupported (Boolean): Gibt zurück, ob VcPkg für die Build-Konfiguration unterstützt wird.
Eigenschaften Schreiben/Lesen
$ StaticAnalyzerRulesets (HashSet<FileReference>): Die statischen Analysierer-Regelsätze, die zum Filtern von Warnungen verwendet werden sollen. Dies wird nur für MSVC unterstützt. Siehe https://learn.microsoft.com/de-de/cpp/code-quality/using-rule-sets-to-specify-the-cpp-rules-to-run
$ AllowedRestrictedFolders (List<String>): Liste von Ordnern, die bei kompilieren dieser binär referenziert werden erlaubt, ohne eingeschränkt Ordnernamen zu propagieren
$ AliasRestrictedFolders (Dictionary<String, String>): Set von alias eingeschränkten Dateireferenzen
$ PublicIncludePathModuleNames (List<String>): Liste von Modulnamen (kein Pfad erforderlich) mit Header Dateien, auf die die öffentlich Header unseres Moduls Zugang benötigen, aber wir müssen nicht "importieren" oder gegen sie Link.
$ PublicDependencyModuleNames (List<String>): Liste der öffentlich Abhängigkeit - Namen (kein privat erforderlich) (öffentlich automatisch). Dies sind Module, die für unsere öffentlichen Quelldateien erforderlich sind.
$ PrivateIncludePathModuleNames (List<String>): Liste der Name (kein Pfad erforderlich) mit Header Dateien, auf die die privat Codedateien unseres Moduls Zugang benötigen, aber wir müssen nicht "importieren" oder gegen sie Link.
$ PrivateDependencyModuleNames (List<String>): Liste privat Abhängigkeit - Namen. Das sind Module, von denen unser privat Code abhängt, aber nichts in unseren öffentlich umfassen Dateien hängt von ab.
$ CircularlyReferencedDependentModules (List<String>): Nur aus Gründen der Sicherung, sollte nicht in neuem Code verwendet werden. Liste von Modulen, die als zirkuläre Referenzen behandelt werden sollten. Diese Module müssen bereits entweder der öffentlichen oder privaten Liste der abhängigen Module hinzugefügt worden sein.
$ PublicSystemIncludePaths (List<String>): Liste von System/ Bibliothek umfassen Pfaden – wird normalerweise für externe Module (von Drittpartei) verwendet. Dies sind öffentliche, stabile Header-Datei-Verzeichnisse, die bei der Auflösung von Header-Abhängigkeiten nicht überprüft werden.
$ ÖffentlicheIncludePfade (Liste<String>): (Diese Einstellung ist momentan nicht nötig, da wir alle Dateien aus dem Ordner 'öffentlich' ermitteln.) Liste aller Pfade, um Dateien zu umfassen, die für andere Module verfügbar sind
$ InternalIncludePaths (Liste<String>): (Diese Einstellung ist momentan nicht erforderlich, da wir alle Dateien aus dem Ordner 'Internal' ermitteln.) Liste aller Pfade, um Dateien zu umfassen, die für andere interne Module verfügbar sind
$ PrivateIncludePaths (List<String>): Liste aller Pfade zu den internen umfassen Dateien dieses Moduls, die anderen Modulen nicht offengelegt werden (mindestens ein umfassen zum 'Private'-Pfad, mehr, wenn wir relative Pfade vermeiden wollen)
$ PublicSystemLibraryPaths (List<String>): Liste der Systembibliothekspfade (Verzeichnis der .lib -Dateien) – für externe Module (von Drittpartei) verwenden Sie bitte stattdessen die PublicAdditionalLibaries
$ PrivateRuntimeLibraryPaths (Liste<String>): Liste von Suchpfaden für Bibliotheken zur Laufzeit (z. B. .so-Dateien)
$ PublicRuntimeLibraryPaths (Liste<String>): Liste von Suchpfaden für Bibliotheken zur Laufzeit (z. B. .so-Dateien)
$ PublicAdditionalLibraries (Liste<String>): Liste zusätzlicher Bibliotheken (Namen der.lib -Dateien einschließlich der Erweiterung) – wird normalerweise für externe Module (von Drittpartei) verwendet
$ PublicDebugVisualizerPaths (Liste<String>): Liste zusätzlicher Debug-Visualisierer (.natvis und.natstepfilter) anderen Modulen exponiert – wird normalerweise für externe Module (von Drittpartei) verwendet
$ DependenciesToSkipPerArchitekture (Dictionary<String, List<UnrealArch>>): Pro-Architektur-Listen von Abhängigkeiten für die Verknüpfung zum Ignorieren (nützlich bei Erstellung für mehrere Architekturen und eine Bibliothek wird nur für eine Architektur benötigt). Es liegt an der Werkzeugkette, diese zu verwenden dies
$ PublicPreBuildLibraries (Liste<String>): Liste zusätzlicher vorgefertigter Bibliotheken (Namen der.lib -Dateien einschließlich der Erweiterung) – wird normalerweise für zusätzliche Ziele verwendet, die noch erstellt werden, aber entweder TargetRules.PreBuildSteps oder TargetRules.PreBuildTargets verwenden.
$ PublicSystemLibraries (List<String>): Liste zu verwendender System – diese werden normalerweise über Name referenziert und über die System gefunden. Falls Sie auf eine .lib Referenz müssen Verwenden Sie stattdessen die PublicAdditionalLibraries Datei
$ PublicFrameworks (Liste<String>): Liste der Xcode Frameworks (iOS und MacOS)
$ PublicWeakFrameworks (Liste<String>): Liste schwacher Frameworks (für Betriebssystem-Versionenübergang)
$ PublicAdditionalFrameworks (Liste<Framework>): Liste zusätzlicher Frameworks – wird normalerweise für externe Modul (von Drittpartei) auf Mac und iOS verwendet
$ AdditionalBundleResources (Liste<BundleResource>): Liste zusätzlicher Ressourcen, die in das App-Paket für Mac oder iOS kopiert werden sollten
$ TypeLibraries<TypeLibrary>(Liste): Liste der Typbibliotheken, für die Header generiert werden müssen (nur Windows)
$ PublicDelayLoadDLLs (List<String>): Liste von Ladung deligieren – wird normalerweise für externe Module (von Drittpartei) verwendet
$ privat Definitions (Liste<String>): privater Compiler-Definitionen für dieses Modul
$ Öffentliche Definitionen (Liste<String>): Öffentliche Compiler-Definitionen für dieses Modul
$ DynamicallyLoadedModuleNames (Liste<String>): Zusätzliche Module, die dieses Modul zur Laufzeit benötigen kann
$ RuntimeDependencies (RuntimeDependencyList): Liste von Dateien, von denen dieses Modul zur Laufzeit abhängt. Diese Dateien werden zusammen mit dem Ziel gestaget.
$ AdditionalPropertiesForReceipt (ReceiptPropertyList): Liste der zusätzlichen Eigenschaften, die dem Build-Beleg hinzugefügt werden sollen
$ ExternalDependencies (Liste<String>): Externe Dateien, die das Make-File ungültig machen, wenn sie verändert werden. Relative Pfade werden relativ zur .build.cs-Datei aufgelöst.
$ SubklasseRules (Liste<String>): Subklassen-Regeldaten, die das Makefile als ungültig erklären, wenn sie verändert werden.
$ GenerateHeaderFuncs (Liste<ValueTuple<String, Action<ILogger, DirectoryReference>>>): Eine Liste von Unterverzeichnis-Namen und Funktionen, die zur Erstellung von Header-Dateien aufgerufen werden. Der Name des Unterverzeichnisses wird an das Verzeichnis mit dem generierten Code angehängt, um ein neues Verzeichnis zu Form (n), in dem Header generiert werden.
$ Name (String): Name dieses Moduls
$ Type (ModuleType): Modultyp
$ OverridePackageType (PackageOverrideType): Überschriebener Typ des Moduls, der verschiedene Paket-Flags setzt. Kann nicht für Module verwendet werden, die Teil eines Plugins sind, da dies bereits in der ".uplugin"-Datei festgelegt ist.
$ BinariesSubFolder (String): Unterordner des Binaries/Plattform-Ordners, in dem dieses Modul beim Erstellen von DLLs abgelegt werden soll. Dies sollte nur von Modulen verwendet werden, die über die Suche gefunden werden, etwa TargetPlatform- oder ShaderFormat-Module. Wenn FindModules nicht zum Track verwendet wird, werden die Module nicht gefunden.
$ OptimizeCode (CodeOptimization): Wenn der Code dieses Moduls optimiert werden sollte.
$ OptimizationLevel (OptimizationMode): Erlaubt die Feinabstimmung des Optimierung für Geschwindigkeit und\oder Größe. Dies erfordert einen privat PCH (oder NoPCHs, was nicht empfohlen wird)
$ FPSemantics (FPSemanticsMode): Erlaubt das Überschreiben der FP-Semantik für dieses Modul. Dies erfordert einen privat PCH (oder NoPCHs, was nicht empfohlen wird)
$ PrivatePCHHeaderFile (String): Ausdrücklicher privat PCH für dieses Modul. Impliziert, dass dieses Modul keinen gemeinsam PCH verwenden wird.
$ SharedPCHHeaderFile (String): Name der Header-Datei für ein gemeinsam genutztes PCH, das von diesem Modul bereitgestellt wird. Muss ein gültig relativer Pfad zu einer öffentlich C++- Header-Datei sein. Dies sollte nur für Header-Dateien eingerichtet werden, die von einer erheblichen Anzahl anderer C++-Module enthalten sind.
$ ShortName (String): Spezifiziert einen alternativen Namen für Intermediate-Verzeichnisse und Dateien für Zwischenprodukte dieses Moduls. Nützlich bei Pfadlängenbeschränkungen.
$ PCHUsage (PCHUsageMode): Vorkompilierte Header -Verwendung für dieses Modul
$ bTreatAsEngineModule (Boolean): Ob dieses Modul wie ein Engine Modul behandelt werden sollte (z. B. Engine -Definitionen, PCHs, kompiliert mit in DebugGame -Konfigurationen aktivierten Optimierungen usw...). Initialisiert mit einem Standard, der auf der basierend auf, aus der sie erstellt wurde.
$ bValidateFormatStrings (Boolean): Gibt Kompilierungsfehler für falsche UE_LOG-Formatstrings aus.
$ bValidateInternalApi (Boolean): Gibt veraltete Warnungen/Fehler für die interne API-Verwendung durch Nicht-Engine-Module aus
$ DefaultBuildSettings (BuildSettingsVersion): Welche Build- Einstellungen der Engine Version standardmäßig verwendet werden sollen.
$ IncludeOrderVersion (EngineIncludeOrderVersion): Welche Version der umfassen Reihenfolge beim kompilieren dieses Modul verwendet werden soll. Kann mit -ForceIncludeOrder in der Befehlszeile oder in den Regeln eines Moduls überschrieben werden.
$ bUseRTTI (Boolean): Zeit Typ-Informationen verwenden
$ bVcRemoveUnreferencedComdat (Boolean): Legt fest, ob MSvc anwiesen werden soll, nicht referenzierte ComDat-Funktionen und -Daten zu entfernen.
$ bCodeCoverage (Boolean): Unterstützung für Codeabdeckungs-Kompilierung/-Verlinkung aktivieren.
$ bUseAVX (Boolean): Obsolete: Weist den Compiler an, AVX-Befehle zu generieren, wo immer SSE- oder AVX-Intrinsics verwendet werden, und zwar auf den Plattformen, die dies unterstützen. Beachten Sie, dass Sie durch die Aktivierung die Mindestspezifikation für die PC-Plattform ändern und die resultierende ausführbare Datei auf Computern ohne AVX-Unterstützung abstürzt.
$ MinCpuArchX64 (Nullable<MinimumCpuArchitectureX64>): Weist den Compiler an, AVX-Befehle zu generieren, wo immer SSE- oder AVX-Intrinsics verwendet werden, und zwar auf den x64-Plattformen, die dies unterstützen. Beachten Sie, dass Sie durch die Aktivierung die Mindestspezifikation für die PC-Plattform ändern und die resultierende ausführbare Datei auf Computern ohne AVX-Unterstützung abstürzt.
$ bEnableBufferSecurityChecks (Boolean): Aktiviert Buffer-Sicherheitschecks. Das sollte normalerweise aktiviert sein, da es große Sicherheitsrisiken verhindert.
$ bEnableExceptions (Boolean): Ausnahmenbehandlung aktivieren
$ bEnableObjCOutputs (Boolean): Aktiviert die Ziel -C-Ausnahmebearbeitung
$ bEnableObjCAutomaticReferenceCounting (Boolean): Aktiviert automatische Objective-C Referenz-Zählung (ARC). Wenn Sie dies auf True setzen, sollten Sie für dieses Modul keine gemeinsam genutzten PCHs verwenden. Die Engine wird ARC in kurze Frist nicht ausgiebig verwenden. Das Nichtstun führt zu Kompilierfehlern, da gemeinsame PCHs mit anderen Flags als beim Verbraucher kompiliert wurden.
$ DeterministicWarningLevel (WarningLevel): Wie man Deterministisch Warnungen behandelt (experimentell).
$ ShadowVariableWarningLevel (WarningLevel): Wie man Schattenvariablen behandelt Warnunge
$ bWarningsAsErrors (Boolean): Gibt an, ob alle Warnungen als Fehler aktiviert werden sollen. UE aktiviert bereits die meisten Warnungen als Fehler, deaktiviert einige aber (z. B. Verfallswarnungen).
$ UnsafeTypeCastWarningLevel (WarningLevel): Wie Warnungen zu unsicheren impliziten Typ-Casts behandelt werden (z. B. double->float oder int64->int32)
$ UndefinedIdentifierWarningLevel (WarningLevel): Gibt an, welches Warnungs-/Fehler-Level für undefinierte Kennungen in bedingten Ausdrücken verwendet werden soll.
$ bEnableUndefinedIdentifierWarnings (Boolean): Warnungen für die Verwendung undefinierter Kennungen in #if-Ausdrücken aktivieren
$ ModuleIncludePathWarningLevel (WarningLevel): Gibt an, wie allgemeine Modul-Include-Pfadvalidierungsnachrichten behandelt werden
$ ModuleIncludePrivateWarningLevel (WarningLevel): Gibt an, wie Validierungsnachrichten für den Include-Pfad eines privaten Moduls behandelt werden, wenn ein Modul einen Include-Pfad hinzufügt, der private Header verfügbar macht
$ ModuleIncludeSubdirectoryWarningLevel (WarningLevel): Gibt an, wie unnötige Nachrichten zur Validierung des Include-Pfads im Modul-Unterverzeichnis behandelt werden
$ bDisableStaticAnametry (Boolean): Deaktiviert alle statisch Analysen - clang, msvc, pvs-studio.
$ bStaticAnalyzerExtensions (Boolean): Aktiviert zusätzliche Analysierer-Erweiterungswarnungen mit dem EspXEngine-Plugin. Dies wird nur für MSVC unterstützt. Siehe https://learn.microsoft.com/de-de/cpp/code-quality/using-the-cpp-core-guidelines-checkers Dies fügt standardmäßig eine große Anzahl von Warnungen hinzu. Es wird empfohlen, StaticAnalyzerRulesets zu verwenden, wenn dies aktiviert ist.
$ bUseUnity (Boolean): Wenn Unity-Builds aktiviert sind, kann dies verwendet werden, um zu überschreiben, ob dieses spezielle Modul mit Unity erstellt wird. Das wird über die Modul Konfigurationen in BuildConfiguration eingerichtet.
$ bMergeUnityFiles (Boolean): Gibt an, ob Modul- und generierte Unity-Dateien für eine schnellere Kompilierung zusammengeführt werden sollen.
$ MinSourceFilesForUnityBuildOverride (Int32): Die Anzahl der Quelldateien in diesem Modul, bevor der Unity-Build für dieses Modul aktiviert wird. Wenn auf etwas anderes als -1 gesetzt, wird die Standard- Einstellung überschreiben, die von MinGameModuleSourceFilesForUnityBuild kontrolliert wird
$ MinFilesUsingPrecompiledHeaderOverride (Int32): Überschreibt BuildConfiguration.MinFilesUsingPrecompiledHeader wenn nicht null.
$ NumIncludedBytesPerUnityCPPOverride (Int32): Überschreibt Target.NumIncludedBytesPerUnityCPP, wenn ungleich Null.
$ bBuildLocallyWithSNDBS (Boolean): Modul verwendet einen #importieren, muss also beim kompilieren mit Snap-DBS lokal erstellt werden
$ bEnableNonInlinedGenCppWarnings (Boolean): Aktiviert Warnungen, wenn.gen.cpp-Dateien vorhanden sind, die in eine passende handgeschriebene cpp-Datei eingebunden werden könnten
$ IsRedistributableOverride (Nullable<Boolean>): Redistribution überschreibt das Flag für dieses Modul.
$ bLegalToDistributeObjectCode (Boolean): Gibt an, ob der Output von diesem Modul öffentlich verteilt werden darf, auch wenn es Code/Abhängigkeiten von Modulen hat, die nicht (z. B. CarefullyRedist, NotForLicensees, NoRedist). Das sollte verwendet werden, wenn Sie Binärdateien, aber keine Quelle Freigabe möchten.
$ bEnforceIWYU (Boolean): "umfassen, was Sie nutzen"-Regeln umfassen, wenn PCHUsage auf ExplicitOrSharedPCH gesetzt ist; warnt, wenn monolithische Header (Engine.h, UnrealEd.h, usw.) verwendet werden, und prüft, ob Quelldateien den passenden Header zuerst umfassen.
$ IWYUSupport (IWYUSupport): Erlaubt "umfassen, was Sie verwenden", um den Quellcode bei der Ausführung zu modifizieren. bEnforceIWYU muss True sein, damit diese Variable von Bedeutung ist.
$ bAddDefaultIncludePaths (Boolean): Ob alle Standard- umfassen Pfade zum Modul hinzugefügt werden sollen (z. B. der Ordner Quelle/Klassen, Unterordner unter Quelle/öffentlich).
$ bIgnoreUnresolvedSymbols (Boolean): Ob Dangling ignoriert werden soll (d.h. (ungelöste externe) Symbole in Modulen
$ bPrecompile (Boolean): Ob dieses Modul vorkompiliert werden soll. Standardmäßig zum bPrecompile-Flag vom Ziel. Löschen Sie dieses Flag, um zu verhindern, dass ein Modul vorkompiliert wird.
$ bUsePrecompiled (Boolean): Ob dieses Modul vorkompilierte Daten verwenden soll. Immer True für Module, die aus installierten Baugruppen erstellt wurden.
$ bAllowConfidentialPlatformDefines (Boolean): Ob dieses Modul PLATFORM_XXXX-Stildefinitionen verwenden kann, wobei XXXX ein vertraulicher Plattformname ist. Dies wird verwendet, um ensure Engine oder anderer gemeinsam Code keine vertraulichen Informationen innerhalb eines #if PLATFORM_XXXX- Block offenlegt. Lizenznehmer des Spiel möchte vielleicht erlauben.
$ bDisableAutoRTFMInstrumentation (Boolean): Deaktiviert die AutoRTFM-Instrumentierung für dieses Modul nur, wenn AutoRTFMCompiler aktiviert ist
$ PrecompileForTargets (PrecompileTargetsType): Welche Targets dieses Modul vorkompiliert werden soll
$ bRequiresImplementModule (Nullable<Boolean>): Ob dieses Modul die Implementierung des Makros IMPLEMENT_MODULE erfordert. Die meisten UE-Module erfordern dies, da wir das Makro IMPLEMENT_MODULE für andere globale Überladungen verwenden (z. B. Operator neu/Weiterleitung an GMalloc löschen).
$ bLegacyPublicIncludePaths (Boolean): Ob dieses Modul enthaltene Header von anderen Modulen relativ zum Stamm ihres 'öffentlich'-Ordners qualifiziert. Dies verringert die Anzahl der Suchpfade, die an den Compiler übergeben werden müssen, was die Performance verbessert und die Länge der Compiler-Befehlszeile verkürzt.
$ bLegacyParentIncludePaths (Boolean): Ob dieses Modul enthaltene Header von anderen Modulen relativ zum Parent-Verzeichnis qualifiziert. Dies verringert die Anzahl der Suchpfade, die an den Compiler übergeben werden müssen, was die Performance verbessert und die Länge der Compiler-Befehlszeile verkürzt.
$ bValidateCircularDependencies (Boolean): Ob zirkuläre Abhängigkeiten gegen die erlauben -Liste validiert werden. Kreisförmige Modul -Abhängigkeiten führen zu langsameren Builds. Es wird dringend davon abgeraten, diese Option zu deaktivieren. Diese Option wird für Engine-Module ignoriert, die immer anhand der erlauben -Liste validiert werden.
$ CppStandard (Nullable<CppStandardVersion>): Welcher Standard soll zum Kompilieren dieses Moduls verwendet werden
$ CStandard (Nullable<CStandardVersion>): Welcher Standard soll zum Kompilieren dieses Moduls verwendet werden
$ ModuleSymbolVisibility (SymbolVisibility): Steuert die Sichtbarkeit von Symbolen