除了添加到 Config/UnrealBuildTool 文件夹下已生成 虚幻引擎(UE) 项目中之外, UnrealBuildTool (UBT) 还会从Windows以下位置的XML配置文件中读取设置:
Engine/Saved/UnrealBuildTool/BuildConfiguration.xml<USER>/AppData/Roaming/Unreal Engine/UnrealBuildTool/BuildConfiguration.xmlMy Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
对于Linux和Mac,则使用以下路径:
/Users/<USER>/.config//Unreal Engine/UnrealBuildTool/BuildConfiguration.xml/Users/<USER>/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
如需自定以项目路径,请使用 <PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml ,其中 <PROJECT_DIRECTORY> 是项目目录的路径。
继续阅读,详细了解以下有助于设置和自定义构建配置的属性。
BuildConfiguration
$ bIgnoreOutdatedImportLibraries:构建目标时是否忽略过期的导入库文件。将此设置为true,从而缩短迭代时间。默认情况下,如果仅依赖项.lib发生了更改,我们不必费心重新连接目标,这是因为,除非此目标的依赖项头文件也更改了,否则导入库可能实际上并没有什么不同,在这种情况下,目标会自动重新构建。
$ bPrintDebugInfo:是否应将调试信息写入控制台。
$ bAllowHybridExecutor:是否将使用混合执行器(远程执行器和本地执行器)。
$ bAllowHordeCompute: 是否使用集群远程计算。(早期实验阶段,默认禁用)
$ bAllowXGE:是否可以使用XGE。
$ bAllowFASTBuild:是否可以使用FASTBuild。
$ bAllowSNDBS:是否可以使用SN-DBS。
$ bUseUBTMakefiles:通过缓存目标数据来支持非常快速的迭代构建。启用此选项会导致虚幻构建工具(Unreal Build Tool)在首次构建目标时为目标发出"UBT Makefile"。随后的构建将加载这些Makefile,并非常快速地开始过时检查和构建调用。需要注意的是,如果在项目中添加或删除了源文件,UBT将需要收集有关这些文件的信息,以便你的构建成功完成。目前,你必须在添加/删除了源文件后运行项目文件生成器,以便告知UBT重新收集此信息。
可能导致"UBT Makefile"无效的事件: 添加/删除.cpp文件 使用UObjects添加/删除.h文件 将新的UObject类型添加到以前没有任何类型的文件 更改全局构建设置(此文件中的大多数设置都符合条件) 更改了影响虚幻头文件工具(Unreal Header Tool)运行方式的代码 你可以通过传递"-gather"参数来强制重新生成"UBT Makefile",或者只是重新生成项目文件。 这也实现了快速包含文件依赖性扫描和缓存系统,允许虚幻构建工具非常快速地检测过时的依赖性。启用后,不必生成深度C++包含图表,相反,我们仅在发现依赖项构建产品已过期后才扫描和缓存间接包含。在下一次构建期间,我们将加载那些缓存的间接包含并检查是否过时。
$ MaxParallelActions:可以并行执行的操作数。如果为0,则代码将根据可用的核心数和内存选择默认值。适用于ParallelExecutor、HybridExecutor和LocalExecutor
$ bAllCores:判断有多少可用CPU核心的时候算上逻辑核心。
$ bCompactOutput:如果执行器支持此功能,指示执行器进行简洁输出(比如仅输出错误信息)。该字段用于在从指令行或者XML指示时暂存数值。
$ bDebugBuildsActuallyUseDebugCRT:为调试构建启用调试C++运行时(CRT)。默认情况下,我们始终使用发布运行时,因为调试版本在调试虚幻引擎项目时并不是特别有用,并且连接到调试CRT库会强制我们的第三方库依赖性也使用调试CRT进行编译(并且通常执行速度会更慢)。通常,仅仅为了调试程序代码而要求第三方静态库调试版本的单独副本,可能很不方便。
$ bLegalToDistributeBinary:此目标的输出是否可以公开发布,即使它对位于具有特殊限制的文件夹中的模块有依赖性(例如 CarefullyRedist 、 NotForLicensees 、 NoRedist )。
$ bUseInlining:为所有模块启用内联。
$ bUseDebugLiveCodingConsole:是否启用对实时编码的支持
$ bUseXGEController:XGE控制器工作程序和模块是否应包含在引擎构建中。这些是使用XGE拦截接口进行分布式着色器编译所必需的。
$ bUseUnityBuild:是否将C++代码统一到更大的文件中,从而加快编译。
$ bForceUnityBuild:是否强制将C++源文件合并为更大的文件,从而加快编译速度。
$ bMergeModuleAndGeneratedUnityFiles: 是否合并模块并生成Unity文件来更快编译。
$ bUseAdaptiveUnityBuild:使用启发法确定当前正在迭代哪些文件并将它们从Unity Blob中排除,从而加快增量编译。当前实现使用只读标记区分工作集,假定文件在被修改时将被源代码控制系统设为可写。这对于Perforce为true,但对Perforce则不然。
$ bAdaptiveUnityDisablesOptimizations:禁止优化位于自适应非Unity工作集中的文件。
$ bAdaptiveUnityDisablesPCH:禁用对位于自适应非Unity工作集中文件强制包含PCH。
$ bAdaptiveUnityDisablesProjectPCHForProjectPrivate: bAdaptiveUnityDisablesProjectPCH 的备份存储。
$ bAdaptiveUnityCreatesDedicatedPCH:为工作集中的每个源文件创建专用的PCH,从而允许对仅限cpp的更改进行更快的迭代。
$ bAdaptiveUnityEnablesEditAndContinue:为工作集中的每个源文件创建专用的PCH,从而允许对仅限cpp的更改进行更快的迭代。
$ bAdaptiveUnityCompilesHeaderFiles:为工作集中的每个头文件创建专用源文件,以便检测头文件中缺少的包含。
$ MinGameModuleSourceFilesForUnityBuild:将为该模块激活Unity构建之前游戏模块中的源文件数量。 这允许小型游戏模块加快对单个文件的迭代编译,但代价是完全重新构建会更慢。 此设置可以由模块的Build.cs文件中的bFasterWithoutUnity选项覆盖。
$ DefaultWarningLevel:未分类警告的默认处理
$ DeprecationWarningLevel:将废弃警告报告为错误的级别
$ bWarningsAsErrors:是否将全部警告作为错误启用。UE已经将大多数警告作为错误启用,但禁用了一些警告(例如废弃警告)。
$ UnsafeTypeCastWarningLevel:指示在支持它的平台上将不安全类型转换视成什么警告/错误级别(例如, double->float 或 int64->int32 )
$ bUndefinedIdentifierErrors:强制在条件表达式中使用未定义的标识符被视为错误处理。
$ bRetainFramePointers:当你需要可靠的调用堆栈时,通常需要强制保留帧指针(例如 mallocframeprofiler )
$ bUseFastMonoCalls:新的单块图形驱动程序具有可选的"快速调用",替换各种D3d函数
$ NumIncludedBytesPerUnityCPP:要包含在单个统一C++文件中的目标C++代码的大致字节数。
$ bDisableModuleNumIncludedBytesPerUnityCPPOverride:禁用由模块设置的覆盖。
$ bStressTestUnity:是否通过将所有C++文件包含在来自单一统一文件的项目中来对C++ unity构建健壮性进行压力测试。
$ bDetailedUnityFiles:是否向Unity文件添加额外信息,如文件名中的 '_of_X'。
$ bDisableDebugInfo:是否全局禁用调试信息生成;有关每个配置和每个平台的选项,请参阅DebugInfoHeuristics.cs。
$ bDisableDebugInfoForGeneratedCode:是否禁用所生成文件的调试信息生成。对于具有大量已生成粘合代码的模块,此操作可加快连接。
$ bOmitPCDebugInfoInDevelopment:是否在开发版本中在PC/Mac上禁用调试信息(为了加快开发人员迭代,因为在禁用调试信息的情况下连接时间非常快)。
$ bUsePDBFiles:PDB文件是否应该用于Visual C++构建。
$ bUsePCHFiles:是否应该使用PCH文件。
$ bDeterministic:设置确定性链接需要的标记(实验性功能,可能不完全支持)。确定性编译通过 ModuleRules.cs 来控制。
$ bForceDeterministic:强制设置确定性链接需要的标记(实验性功能,可能不完全支持)。该功能只有测试的时候建议使用,其它情况下请使用:
在 ModuleRules.cs 中以每个模块设置 bDeterministic 来控制确定性编译。
在 TargetRules.cs 中以每个目标设置 bDeterministic 来控制确定性链接。
$ bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled:禁用PCH时,是否应强制将PCH头文件包含在gen.cpp文件中。
$ bPreprocessDepends:通过处理生成依赖文件。只有在发布构建的时候建议使用,因为会增加性能消耗。
$ StaticAnalyzer:是否启用静态代码分析。
$ StaticAnalyzerOutputType:静态分析器使用的输出类型。仅支持Clang。
$ StaticAnalyzerMode:静态分析器使用的模式。仅支持Clang。浅层模式速度更快,但是通常不建议使用。
$ MinFilesUsingPrecompiledHeader:必须使用预编译头文件的最小文件数,超过此数量之后才会创建和使用预编译头。
$ bForcePrecompiledHeaderForGameModules:启用后,即使模块中只有几个源文件,也会始终为游戏模块生成预编译头文件。这样可以大幅缩短项目中一些文件迭代更改的编译时间,但代价是小型游戏项目的完全重新构建会更慢。这可以通过在模块的Build.cs文件中设置MinFilesUsingPrecompiledHeaderOverride来覆盖。
$ bUseIncrementalLinking:是否使用增量链接。进行小更改时,增量链接可以加快迭代。当前默认禁用,因为它在某些计算机上易于出现一些错误(与PDB相关的编译错误)。
$ bAllowLTCG:是否允许使用链接时间码生成(LTCG)。
$ bPreferThinLTO:启用链接时间代码生成(LTCG)时,是否偏好在支持的平台上使用更轻量级的版本。
$ ThinLTOCacheDirectory:在支持的平台上放置ThinLTO缓存的目录。
$ ThinLTOCachePruningArguments:在支持的平台上清理ThinLTO缓存时将应用的参数。只有设置了ThinLTOCacheDirectory,才会应用参数。
$ bPGOProfile:是否在此构建中启用"按配置优化"(PGO)工具。
$ bPGOOptimize:是否使用"按配置优化"(PGO)优化此构建。
$ bSupportEditAndContinue:是否支持编辑并继续。
$ bOmitFramePointers:是否省略帧指针。禁用对某些操作很有用,如PC上的内存分析。
$ bUseMallocProfiler:如果为true,则在构建中启用内存分析(定义USE_MALLOC_PROFILER=1并强制bOmitFramePointers=false)。
$ bShaderCompilerWorkerTrace:如为true,则在着色器编译器工作程序的构建中启用Unreal Insights(utrace)分析(定义USE_SHADER_COMPILER_WORKER_TRACE=1)。
$ bUseSharedPCHs:启用"共享PCH",该功能通过在UBT检测到包含这些PCH头文件的模块之间共享某些PCH文件,可以显著加快编译。
$ bUseShippingPhysXLibraries:如果开发和发布版本应使用PhysX/APEX的发布配置,则为true。
$ bUseCheckedPhysXLibraries:如果开发和发布版本应使用已检查的PhysX/APEX配置,则为true。如果bUseShippingPhysXLibraries为true,则忽略此选项。
$ bCheckLicenseViolations:告知UBT检查当前正在构建的模块是否违反EULA。
$ bBreakBuildOnLicenseViolation:如果当前正在构建的模块违反EULA,则告知UBT中断构建。
$ bUseFastPDBLinking:使用/DEBUG构建时是否使用:FASTLINK选项在Windows设备上创建本地PDB。速度很快,但目前在调试器中查找符号似乎存在问题。
$ bCreateMapFile:将贴图文件作为构建的一部分输出。
$ bAllowRuntimeSymbolFiles:如果运行时符号文件应作为某些平台的构建后步骤生成,则为true。引擎使用这类文件解析日志中调用堆栈回溯的符号名称。
$ PackagePath:链接时用于保存输入文件的包体完整路径(目录 + 文件名)。通常用来在支持的平台上调试链接器崩溃。
$ CrashDiagnosticDirectory:在支持的平台上保存崩溃报告文件的目录。
$ bCheckSystemHeadersForModification:在确定过时操作时,是否应检查系统路径中的头文件是否有修改。
$ bFlushBuildDirOnRemoteMac:是否在构建之前清理远程Mac上的Builds目录。
$ bPrintToolChainTimingInfo:是否从编译器和连接器写入详细的计时信息。
$ bParseTimingInfoForTracing:是否将计时数据解析成与chrome://tracing兼容的跟踪文件。
$ bPublicSymbolsByDefault:是否在POSIX平台上默认公开所有符号
$ CppStandard:用于编译此目标的C++标准
$ CStandard:编译该目标时使用哪个C标准。
$ bStopSNDBSCompilationAfterErrors:启用后,SN-DBS将在发生编译错误后停止编译目标。 推荐启用,因为可为其他内容节省计算资源。
$ bXGENoWatchdogThread:是否使用no_watchdog_thread选项防止VS2015工具链停顿。
$ bShowXGEMonitor:是否显示XGE构建监视器。
$ bStopXGECompilationAfterErrors:启用后,XGE将在发生编译错误后停止编译目标。 推荐启用,因为可为其他内容节省计算资源。
$ BaseLogFileName:指定用于记录的文件。
$ bStripSymbols:是否剥离iOS符号(由发布配置表示)。
$ bSkipClangValidation:禁用对静态库的clang构建验证检查。
$ bEnableAddressSanitizer:启用地址清理程序(ASan)。仅为Visual Studio 2019 16.7.0及更高版本提供支持。
$ bEnableThreadSanitizer:启用线程清理程序(TSan)。
$ bEnableUndefinedBehaviorSanitizer:启用未定义的行为清理程序(UBSan)。
$ bEnableMemorySanitizer:启用内存清理程序(MSan)
$ bTuneDebugInfoForLLDB:打开LLDB的调试信息调整
$ bUseDSYMFiles:启用.dsym文件的生成。禁用后可以在开发期间实现更快的迭代。
$ bWriteSolutionOptionFile:是否为sln编写解决方案选项(suo)文件。
$ bVsConfigFile:是否在sln旁边写入一个 .vsconfig 文件来表示要安装的模块。
$ bAddFastPDBToProjects:默认情况下是否添加-FastPDB选项来构建命令行。
$ bUsePerFileIntellisense:是否生成每个文件的智能感知数据。
$ bEditorDependsOnShaderCompileWorker:为编辑器生成项目文件时,是否包含对ShaderCompileWorker的依赖性。
UEBuildConfiguration
$ bForceHeaderGeneration:如果为true,则强制重新生成头文件。专用于构建机器。
$ bDoNotBuildUHT:如果为true,则不构建UHT,假设它已经构建。
$ bFailIfGeneratedCodeChanges:如果为true,则在生成的头文件过期时失败。
$ bAllowHotReloadFromIDE:如果允许从IDE热重载,则为true。
$ bForceDebugUnrealHeaderTool:如果为true,则将构建并运行UnrealHeaderTool的调试版本,而不是开发版本。
$ bUseBuiltInUnrealHeaderTool:如为true,则使用UBT内部的C# UHT。
$ bWarnOnCppUnrealHeaderTool:如为true,则在使用C++ UHT时生成警告。
WindowsPlatform
$ MaxRootPathLength:建议的最大根路径长度。
$ MaxNestedPathLength:相对于根目录的最大路径长度。在Windows设备上用于确保路径在机器之间可移植。默认关闭。
$ Compiler:在Windows平台上使用的编译器工具链版本。"默认"值将在UBT启动时更改为特定版本。
$ CompilerVersion:要使用的特定工具链版本。这可能是特定的版本号(例如,"14.13.26128"),字符串"Latest",选择最新的可用版本,或者字符串"Preview",选择最新的可用预览版本。默认情况下,如果可用,我们使用WindowsPlatform.DefaultToolChainVersion指示的工具链版本(否则,我们使用最新版本)。
$ bAllowClangLinker:如果使用Clang编译时应使用Clang链接器(LLD),或者使用Intel oneAPI编译时应使用Intel链接器( xilink\xilib ),则为true,否则使用MSVC连接器。
$ WindowsSdkVersion:要使用的特定Windows SDK版本。这可能是特定的版本号(例如,"8.1"、"10.0"或"10.0.10150.0")或字符串"Latest",选择最新的可用版本。默认情况下,如果可用,我们使用由WindowsPlatform.DefaultWindowsSdkVersion指示的Windows SDK版本(否则,我们使用最新版本)。
$ StaticAnalyzer:要使用的静态分析器。
$ StaticAnalyzerOutputType:用于静态分析器的输出类型。
$ bStrictConformanceMode:在VS2017+中启用严格的标准一致性模式( /permissive- )。
$ bUpdatedCPPMacro:启用更新后的 __cplusplus 宏( /Zc:__cplusplus )。
$ bStrictInlineConformance:启用内联一致性(移除未引用的COMDAT)( /Zc:inline )。
$ bStrictPreprocessorConformance:启用新的预处理器一致性( /Zc:preprocessor )。
$ bStrictEnumTypesConformance:在VS2022 17.4 Preview 4.0+中启用枚举类型一致性( /Zc:enumTypes )。
$ PCHMemoryAllocationFactor:确定编译器分配给构造预编译头文件的内存大小( /Zm )。
$ AdditionalLinkerOptions:允许目标指定在此处未另外注明的额外选项进行链接。
$ bUseFastGenProfile:如果指定时附带参数 -PGOProfile ,则使用 /FASTGENPROFILE 替代 /GENPROFILE 。这通常意味着生成PGO数据的速度加快,但生成的数据产生的优化效率可能不如附带 -PGOOptimize 参数。
$ bClangTimeTrace:(试验性)将 -ftime-trace 参数附加到命令行,以便Clang输出包含编译时间轴的JSON文件。如需了解更多信息,请参阅Clang图表分析器。
$ bCompilerTrace:输出编译计时信息,以便对其进行分析。
$ bShowIncludes:打印出每个源文件包含的文件。
TargetRules
$ bDisableInliningGenCpps:禁用对内联gen.cpp的支持。
ModuleConfiguration
$ DisableUnityBuild:要禁用Unity构建的模块的列表。
$ EnableOptimizeCode:启用优化的模块列表。
$ DisableOptimizeCode:禁用优化的模块列表。
TestTargetRules
$ bDisableInliningGenCpps:禁用对内联gen.cpp的支持。
FASTBuild
$ FBuildExecutablePath:如果未使用分布式二进制文件,则用于指定fbuild.exe的位置
$ bEnableDistribution:控制网络构建分布
$ FBuildBrokeragePath:用于指定中转位置。如果为null,FASTBuild将退回到检查FASTBUILD_BROKERAGE_PATH
$ FBuildCoordinator:用于指定FASTBuild协调器IP或网络名称。如果为null,FASTBuild将退回到检查FASTBUILD_COORDINATOR
$ bEnableCaching:控制是否完全使用缓存。CachePath和FASTCacheMode仅在启用时才相关。
$ CacheMode:缓存访问模式 - 仅当bEnableCaching为true时才相关;
$ FBuildCachePath:用于指定缓存位置。如果为null,FASTBuild将退回到检查FASTBUILD_CACHE_PATH
$ bForceRemote:是否强制远程
$ bStopOnError:是否在出错时停止
$ MsvcCRTRedistVersion : 使用哪个MSVC CRT Redist版本
HordeExecutor
$ NumRemoteParallelProcesses : 远程并行处理的进程数量。
$ RemoteProcessOnly : 仅远程运行,用于测试。
$ RetryFailedRemote : 远程操作失败时,在本地重新尝试。
ParallelExecutor
$ MaxProcessorCount : 本地执行的最大处理器数量。
$ ProcessorCountMultiplier : 本地执行处理器数量的乘数。设为低于1可以将CPU资源保留给其它任务。使用本地执行器时(非XGE),每个CPU核心上运行一个操作。注意在很多情况下你可以将该项设为一个大一些的值来得到稍快的构建速度,但是你的电脑响应速度会在编译时变得更慢。如果CPU不支持超线程,该数值会被忽略。
$ MemoryPerActionBytes : 每个操作的空闲内存,以字节计,用于在内存不足时限制并行操作数量。设为0可以停用空闲内存检查。
$ ProcessPriority : 要为生成的进程设置的优先级。有效设置:Idle、BelowNormal、Normal、AboveNormal、High Default:非对称处理器设置为BelowNormal或Normal,因为BelowNormal可能导致调度问题。
$ bStopCompilationAfterErrors : 启用时,会在出现编译错误时停止编译目标。
$ bShowCompilationTimes : 是否在显示最严重错误时一起显示编译时间。
$ bShowPerActionCompilationTimes : 是否针对每个执行的操作显示编译时间。
$ bLogActionCommandLines : 是否针对执行的操作记录命令行。
$ bPrintActionTargetNames : 为每个执行的操作添加目标名称。
SNDBS
$ bAllowOverVpn:当设置为false时,在通过VPN连接到协调器运行时将不会启用SNDBS。通过VpnSubnets参数配置VPN指定子网。
$ VpnSubnets:包含由VPN指定的IP地址的子网列表
XGE
$ bAllowOverVpn:当设置为false时,在通过VPN连接到协调器运行时将不会启用XGE。通过VpnSubnets参数配置VPN指定子网。
$ VpnSubnets:包含由VPN指定的IP地址的子网列表
$ bAllowRemoteLinking:是否允许远程连接
$ bUseVCCompilerMode:是否启用VCCompiler=true设置。此操作需要额外的VC工具许可证。
$ MinActions : 使用XGE执行的最小操作数量。
$ bUnavailableIfInUse : 检查同时运行的XGE构建,如果其正在使用,那么将XGE执行器设为不可用。这将会让UBT回退到另一个执行器,比如并行执行器。
BuildMode
$ bIgnoreJunk:是否跳过检查由垃圾清单标识的文件。
ProjectFileGenerator
$ DisablePlatformProjectGenerators:禁用平台的原生项目文件生成器。具有原生项目文件生成器的平台通常需要安装IDE扩展。
$ Format:要生成的默认项目文件格式列表。
$ bGenerateIntelliSenseData:如果应该生成智能感知数据,则为true(需要更长的时间)。
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bAllDocumentationLanguages:如果所有文档语言都应包含在生成的项目中,则为true,否则将仅包含INT文件。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeBuildSystemFiles:如果应包含构建系统文件,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeLocalizationFiles:如果我们应该在生成的项目中包含本地化文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ bKeepSourceSubDirectories:如果我们应该将主项目中磁盘上的"源"子目录显示为项目目录,则为true。这(可以说)给主要项目增加了一些视觉效果的混乱,但对磁盘文件组织来说为true。
$ Platforms:要包含在生成的项目文件中的平台名称
$ Configurations:要包含在生成的项目文件中的配置名称。有关有效条目,请参阅UnrealTargetConfiguration
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
$ bIncludeTestAndShippingConfigs:我们是否应该在生成的项目中包含"测试"和"发布"的配置。传递"-NoShippingConfigs"可禁用它。
$ bIncludeDebugConfigs:我们是否应该在生成的项目中包含"调试"和"DebugGame"的配置。传递"-NoDebugConfigs"可禁用它。
$ bIncludeDevelopmentConfigs:我们是否应该在生成的项目中包含"开发"的配置。传递"-NoDevelopmentConfigs"可禁用它。
IOSToolChain
$ IOSSDKVersion:构建时要针对的iOS SDK版本。
$ BuildIOSVersion:构建时要允许的iOS版本。
$ bUseDangerouslyFastMode:如果设置了此项,那么除了将可执行文件移动到Mac上的正确位置,我们不会执行编译后步骤。
WindowsTargetRules
$ ObjSrcMapFile:我们是否应该将包含.obj的文件导出到源文件映射。
CLionGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置( .ini )文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
CMakefileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
CodeLiteGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
EddieProjectFileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource: 是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递 -DotNet 可启用它。
$ bIncludeTempTargets: 是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
KDevelopGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置 ( .ini )文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ IncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
MakefileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
QMakefileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
RiderProjectFileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ IncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
VSCodeProjectFileGenerator
$ IncludeAllFiles:包含位于生成的工作区中的所有文件。
$ AddDebugAttachConfig:VS代码项目生成是否应包含调试配置,以便允许附加到已在运行的进程
$ AddDebugCoreConfig:VS代码项目生成是否应包含调试配置,以便允许核心转储调试
$ NoCompileCommands:不要为每个文件创建带有编译器参数的编译命令json文件;更适合搭配采用UBT服务器模式的VS Code扩展使用。
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ IncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
VCMacProjectFileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ bIncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
VCProjectFileGenerator
$ Version:要为其生成项目文件的Visual Studio版本。
$ MaxSharedIncludePaths:将最常见的包含路径放在MSBuild项目的IncludePath属性中。这样可显著减少Visual Studio内存使用量(测量结果为1.1GB -> 500mb),但似乎会导致Visual Assist出现问题。此处的值将指定包含路径列表的最大长度,以KB为单位。
$ ExcludedIncludePaths:不应添加到项目包含路径的分号分隔路径列表。用于从智能感知建议中省略第三方头文件(例如 ThirdParty/WebRTC ),并减少内存占用。
$ ExcludedFilePaths:不应添加到项目的分号分隔路径列表。用于从智能感知建议中省略第三方文件(例如ThirdParty/WebRTC),并减少内存占用。
$ bBuildUBTInDebug:强制UBT在调试配置中构建,无论解决方案配置如何
$ bBuildLiveCodingConsole:在构建支持实时编码的目标时,是否包括对LiveCodingConsole的依赖性。
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ IncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
XcodeProjectFileGenerator
$ bIncludeDocumentation:如果我们应该在生成的项目中包含文档,则为true。
$ bUsePrecompiled:如果构建目标应该传递-useprecompiled参数,则为true。
$ bIncludeEngineSource:如果我们应该在生成的解决方案中包含引擎源,则为true。
$ bIncludeShaderSource:如果着色器源文件应包含在生成的项目中,则为true。
$ bIncludeConfigFiles:如果我们应该在生成的项目中包含配置(.ini)文件,则为true。
$ bIncludeTemplateFiles:如果我们应该在生成的项目中包含模板文件,则为true。
$ IncludeEnginePrograms:如果我们应该在生成的解决方案中包含程序项目,则为true。
$ IncludeCppSource:是否应包含C++目标。
$ bIncludeDotNetPrograms:如果我们应该在生成的解决方案中包含csharp程序项目,则为true。传递"-DotNet"可启用它。
$ bIncludeTempTargets:是否包含由UAT生成的临时目标,以便支持具有非默认设置的纯内容项目。
$ PrimaryProjectName:主项目文件的名称,例如,Visual Studio解决方案文件的基本文件名,或Mac上的Xcode项目文件。
$ bPrimaryProjectNameFromFolder:如果为true,则根据其所在文件夹的名称设置主项目名称。
SourceFileWorkingSet
$ Provider:设置用于确定工作集的提供程序。
$ RepositoryPath:设置用于仓库的路径。相对于虚幻引擎根目录(引擎文件夹之上的文件夹)解译——如果相关。
$ GitPath:设置用于Git可执行文件的路径。默认为"git"(假定它位于PATH中)。
RemoteMac
$ ServerName:这两个变量将从 XmlConfigLoader.Init() 中的XML配置文件加载。
$ UserName:远程用户名。
$ SshPrivateKey: 如果设置了,那么将会使用该私人密钥,而不会在通常路径( Documents/Unreal , Engine/UnrealBuildTool/SSHKeys 或者 Engine/Build/SSHKeys )中查找 RemoteToolChainPrivate.key 。
$ RsyncAuthentication:用于Rsync的身份验证(用于-e rsync标记)。
$ SshAuthentication:用于SSH的身份验证(可能类似于RsyncAuthentication)。
HoloLensPlatform
$ Compiler:在HoloLens上使用的编译工具链版本。UBT启动时 "default" 会被更改为一个具体的版本。
日志
$ bBackupLogFiles:是否备份现有日志文件,而不是重写它。
$ LogFileBackupCount:要保留的日志文件备份数。将删除较旧的备份。