In addition to being added to the generated Unreal Engine (UE) project under the Config/UnrealBuildTool folder, Unreal Build Tool (UBT) reads settings from XML config files in the following locations on Windows:
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
On Mac, the following paths are used instead:
/Users/<USER>/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
On Linux, the following paths are used instead:
/home/<USER>/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml/home/<USER>/Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
Use the <PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml directory for project-specific build configuration where <PROJECT_DIRECTORY> is the path to your project's directory.
Keep reading to learn more about the following properties, which help to set and customize build configurations.
BuildConfiguration
bIgnoreOutdatedImportLibraries : Whether to ignore import library files that are out of date when building targets. Set this to true to improve iteration time. By default, we do not bother re-linking targets if only a dependent .lib has changed, as chances are that the import library was not actually different unless a dependent header file of this target was also changed, in which case the target would automatically be rebuilt.
bPrintDebugInfo : Whether debug info should be written to the console.
bAllowHybridExecutor : Whether the hybrid executor will be used (a remote executor and local executor). No longer supported.
RemoteExecutorPriority : Priority order for remote executors (XGE, SNDBS, FASTBuild, UBA)
bAllowUBAExecutor : Whether the UnrealBuildAccelerator executor will be used.
bAllowUBALocalExecutor : Whether the UnrealBuildAccelerator (local only) executor will be used.
bAllowXGE : Whether XGE may be used if available, default is true.
bAllowFASTBuild : Whether FASTBuild may be used if available, default is true.
bAllowSNDBS : Whether SN-DBS may be used if available, default is true.
bUseUBTMakefiles : Enables support for very fast iterative builds by caching target data. Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they are built the first time. Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly. The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully. Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information. Events that can invalidate the 'UBT Makefile': Adding/removing .cpp files Adding/removing .h files with UObjects Adding new UObject types to a file that did not previously have any Changing global build settings (most settings in this file qualify) Changed code that affects how Unreal Header Tool works You can force regeneration of the 'UBT Makefile' by passing the '-gather' argument, or simply regenerating project files. This also enables the fast include file dependency scanning and caching system that allows Unreal Build Tool to detect out of date dependencies very quickly. When enabled, a deep C++ include graph does not have to be generated, and instead, we only scan and cache indirect includes for after a dependent build product was already found to be out of date. During the next build, we will load those cached indirect includes and check for outdatedness.
MaxParallelActions : Number of actions that can be executed in parallel. If 0 then code will pick a default based on the number of cores and memory available. Applies to the ParallelExecutor, HybridExecutor, and LocalExecutor
bAllCores : Consider logical cores when determining how many total cpu cores are available.
bCompactOutput : Instruct the executor to write compact output e.g. only errors, if supported by the executor. This field is used to hold the value when specified from the command line or XML
bArtifactRead : If set, artifacts will be read
bArtifactWrites : If set, artifacts will be written
bLogArtifactCacheMisses : If true, log all artifact cache misses as informational messages
ArtifactDirectory : Location to store the artifacts.
bUseUnityBuild : Whether to unify C++ code into larger files for faster compilation.
bForceUnityBuild : Whether to force C++ source files to be combined into larger files for faster compilation.
bParallelMakefileGeneration : Whether to generate target makefiles in parallel.
UnsafeTypeCastWarningLevel : Indicates what warning/error level to treat unsafe type casts as on platforms that support it (e.g., double->float or int64->int32) MSVC - https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-levels-3-and-4-c4244 4244 - conversion from 'type1' to 'type2', possible loss of data 44244 - Note: The extra 4 is not a typo, /wLXXXX sets warning XXXX to level L https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4838 4838 - conversion from 'type1' to 'type2' requires a narrowing conversion 44838 - Note: The extra 4 is not a typo, /wLXXXX sets warning XXXX to level L Clang - https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-conversion https://clang.llvm.org/docs/DiagnosticsReference.html#wimplicit-float-conversion https://clang.llvm.org/docs/DiagnosticsReference.html#wimplicit-int-conversion https://clang.llvm.org/docs/DiagnosticsReference.html#wc-11-narrowing To enable (too many hits right now) https://clang.llvm.org/docs/DiagnosticsReference.html#wshorten-64-to-32 https://clang.llvm.org/docs/DiagnosticsReference.html#wsign-conversion
UndefinedIdentifierWarningLevel : Indicates what warning/error level to treat undefined identifiers in conditional expressions. MSVC - https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4668 4668 - 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives' 44668 - Note: The extra 4 is not a typo, /wLXXXX sets warning XXXX to level L Clang - https://clang.llvm.org/docs/DiagnosticsReference.html#wundef
UnreachableCodeWarningLevel : Indicates what warning/error level to treat unreachable code. MSVC - https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4702 4702 - unreachable code 44702 - Note: The extra 4 is not a typo, /wLXXXX sets warning XXXX to level L Clang - https://clang.llvm.org/docs/DiagnosticsReference.html#wunreachable-code-aggressive
SwitchUnhandledEnumeratorWarningLevel : Indicates what warning/error level to treat unhandled enumerators in switches on enumeration-typed values. MSVC - 4061 - https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4061 44061 - Note: The extra 4 is not a typo, /wLXXXX sets warning XXXX to level L Clang - https://clang.llvm.org/docs/DiagnosticsReference.html#wswitch-enum
ShortenSizeTToIntWarningLevel : The compiler detected a conversion from size_t to a smaller type. MSVC - https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4267 4267 - 'var' : conversion from 'size_t' to 'type', possible loss of data
DeprecationWarningLevel : Indicates what warning/error level to treat usages of functions, methods, or variables, that are marked as deprecated. Clang - https://clang.llvm.org/docs/DiagnosticsReference.html#wdeprecated-declarations
PCHPerformanceIssueWarningLevel : Indicates what warning/error level to treat potential PCH performance issues.
ModuleUnsupportedWarningLevel : How to treat module unsupported validation messages
PluginModuleUnsupportedWarningLevel : How to treat plugin specific module unsupported validation messages
ModuleIncludePathWarningLevel : How to treat general module include path validation messages
ModuleIncludePrivateWarningLevel : How to treat private module include path validation messages, where a module is adding an include path that exposes private headers
ModuleIncludeSubdirectoryWarningLevel : How to treat unnecessary module sub-directory include path validation messages
DefaultWarningLevel : Default treatment of uncategorized warnings
bShowIncludes : Print out files that are included by each source file
bDebugBuildsActuallyUseDebugCRT : Enables the debug C++ runtime (CRT) for debug builds. By default we always use the release runtime, since the debug version isn't particularly useful when debugging Unreal Engine projects, and linking against the debug CRT libraries forces our third party library dependencies to also be compiled using the debug CRT (and often perform more slowly). Often it can be inconvenient to require a separate copy of the debug versions of third party static libraries simply so that you can debug your program's code.
bLegalToDistributeBinary : Whether the output from this target can be publicly distributed, even if it has dependencies on modules that are in folders with special restrictions (eg. CarefullyRedist, NotForLicensees, NoRedist).
bBuildAllModules : Build all the modules that are valid for this target type. Used for CIS and making installed engine builds.
bUseVerseBPVM : Whether to use the BPVM to run Verse.
bForceNoAutoRTFMCompiler : Whether to use force AutoRTFM Clang compiler off.
bUseAutoRTFMVerifier : Whether to enable emitting AutoRTFM verification metadata
bAutoRTFMVerify : Whether to run LLVM verification after the AutoRTFM compiler pass. This is used by our compiler folks to ensure the pass works with the various code-paths UBT can take us down.
bAutoRTFMClosedStaticLinkage : Whether to link closed function declarations statically.
bAutoRTFMRedirectionInstrumentation : Whether to instrument all memory accesses for redirection.
bUseInlining : Enable inlining for all modules.
bWithLiveCoding : Whether to enable support for live coding
bUseDebugLiveCodingConsole : Whether to enable support for live coding
bUseSparseSetStrictMode : If enabled sparse set will have additional runtime checks against usage that conflicts with compact sets.
bUseCompactSetAsDefault : By default TSparseSet is used as the underlying TSet container. Use this flag to change that to use TCompactSet instead.
bUseXGEController : Whether the XGE controller worker and modules should be included in the engine build. These are required for distributed shader compilation using the XGE interception interface.
bIncludeHeaders : Adds header files in included modules to the build.
bAlwaysUseUnityForGeneratedFiles : Whether to force generated files to be placed in a unity file even when unity files are otherwise disabled. It is not recommended to disable this unless debugging issues with UHT file generation.
bUseAdaptiveUnityBuild : Use a heuristic to determine which files are currently being iterated on and exclude them from unity blobs. This results in faster incremental compile times. For Perforce repositories, the current implementation uses the read-only flag to distinguish the working set, assuming that files will be made writable by the source control system if they are being modified. For Git repositories, the implementation uses the git status command. Source code archives downloaded from Git as .zip files are not supported.
bAdaptiveUnityDisablesOptimizations : Disable optimization for files that are in the adaptive non-unity working set.
AdaptiveUnityDisablesOptimizationsConfigurations : Disable optimizations for files that are in the adaptive non-unity working set for the given configurations.
bAdaptiveUnityDisablesPCH : Disables force-included PCHs for files that are in the adaptive non-unity working set.
bAdaptiveUnityDisablesProjectPCHForProjectPrivate : Backing storage for bAdaptiveUnityDisablesProjectPCH.
bAdaptiveUnityCreatesDedicatedPCH : Creates a dedicated PCH for each source file in the working set, allowing faster iteration on cpp-only changes.
bAdaptiveUnityEnablesEditAndContinue : Creates a dedicated PCH for each source file in the working set, allowing faster iteration on cpp-only changes.
bAdaptiveUnityCompilesHeaderFiles : Creates a dedicated source file for each header file in the working set to detect missing includes in headers.
MinGameModuleSourceFilesForUnityBuild : The number of source files in a game module before unity build will be activated for that module. This allows small game modules to have faster iterative compile times for single files, at the expense of slower full rebuild times. This setting can be overridden by the bFasterWithoutUnity option in a module's Build.cs file.
bRequireObjectPtrForAddReferencedObjects : Require TObjectPtr for FReferenceCollector API's. (Needed for compatibility with incremental GC.)
bValidateFormatStrings : Emits compilation errors for incorrect UE_LOG format strings.
bWarningsAsErrors : Whether to enable all warnings as errors. UE enables most warnings as errors already, but disables a few (such as deprecation warnings).
bRetainFramePointers : Forces frame pointers to be retained this is usually required when you want reliable callstacks e.g. mallocframeprofiler
bUseFastMonoCalls : New Monolithic Graphics drivers have optional "fast calls" replacing various D3d functions
NumIncludedBytesPerUnityCPP : An approximate number of bytes of C++ code to target for inclusion in a single unified C++ file.
bDisableModuleNumIncludedBytesPerUnityCPPOverride : Disables overrides that are set by the module
bStressTestUnity : Whether to stress test the C++ unity build robustness by including all C++ files files in a project from a single unified file.
DebugInfo : How much debug info should be generated. See DebugInfoMode enum for more details
DebugInfoLineTablesOnly : True if only debug line number tables should be emitted in debug information for compilers that support doing so. Overrides TargetRules.DebugInfo See https://clang.llvm.org/docs/UsersManual.html#cmdoption-gline-tables-only for more information
DebugInfoNoInlineLineTables : True if debug line number tables should be omitted in debug information for inline functions, compilers that support doing so.
DebugInfoSimpleTemplateNames : True if template type names should be simplified to reduce the size of debug info for compilers that support doing so.
bDisableDebugInfoForGeneratedCode : Whether to disable debug info generation for generated files. This improves link times and reduces pdb size for modules that have a lot of generated glue code.
bOmitPCDebugInfoInDevelopment : Whether to disable debug info on PC/Mac in development builds (for faster developer iteration, as link times are extremely fast with debug info disabled).
bUsePDBFiles : Whether PDB files should be used for Visual C++ builds.
bUsePCHFiles : Whether PCH files should be used.
bDeterministic : Set flags require for deterministic compiling and linking. Enabling deterministic mode for msvc disables codegen multithreading so compiling will be slower
bUseVFS : Experimental work in progress: Set flags to use toolchain virtual file system support, to generate consistent pathing in outputs
CacheSalt : Salt value to modify cache bucket calculation, can be used to invalidate cached actions outputs
bChainPCHs : Whether PCHs should be chained when compiling with clang. Note: The earliest PCH a header is included in the chain will be included, so if there is a mismatch in preprocessor state this can cause an unexpected version of a header to be included. Currently disabled as this is the case.
bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled : Whether PCH headers should be force included for gen.cpp files when PCH is disabled.
StaticAnalyzer : Whether static code analysis should be enabled.
StaticAnalyzerOutputType : The output type to use for the static analyzer. This is only supported for Clang.
StaticAnalyzerMode : The mode to use for the static analyzer. This is only supported for Clang. Shallow mode completes quicker but is generally not recommended.
StaticAnalyzerPVSPrintLevel : The level of warnings to print when analyzing using PVS-Studio
bStaticAnalyzerProjectOnly : Only run static analysis against project modules, skipping engine modules
bStaticAnalyzerIncludeGenerated : When enabled, generated source files will be analyzed
MinFilesUsingPrecompiledHeader : The minimum number of files that must use a pre-compiled header before it will be created and used.
bForcePrecompiledHeaderForGameModules : When enabled, a precompiled header is always generated for game modules, even if there are only a few source files in the module. This greatly improves compile times for iterative changes on a few files in the project, at the expense of slower full rebuild times for small game projects. This can be overridden by setting MinFilesUsingPrecompiledHeaderOverride in a module's Build.cs file.
bUseIncrementalLinking : Whether to use incremental linking or not. Incremental linking can yield faster iteration times when making small changes. Currently disabled by default because it tends to behave a bit buggy on some computers (PDB-related compile errors).
bAllowLTCG : Whether to allow the use of link time code generation (LTCG).
bPreferThinLTO : When Link Time Code Generation (LTCG) is enabled, whether to prefer using the lighter weight version on supported platforms.
ThinLTOCacheDirectory : Directory where to put the ThinLTO cache on supported platforms.
ThinLTOCachePruningArguments : Arguments that will be applied to prune the ThinLTO cache on supported platforms. Arguments will only be applied if ThinLTOCacheDirectory is set.
bThinLTODistributed : When ThinLTO is enabled we use distributed linking if supported This can save a lot of time for large binaries
bPGOProfile : Whether to enable Profile Guided Optimization (PGO) instrumentation in this build.
bPGOOptimize : Whether to optimize this build with Profile Guided Optimization (PGO).
bCodeCoverage : Whether the target requires code coverage compilation and linking.
bSupportEditAndContinue : Whether to support edit and continue.
bOmitFramePointers : Whether to omit frame pointers or not. Disabling is useful for e.g. memory profiling on the PC.
bShaderCompilerWorkerTrace : If true, then enable Unreal Insights (utrace) profiling in the build for the Shader Compiler Worker (defines USE_SHADER_COMPILER_WORKER_TRACE=1).
bUseSharedPCHs : Enables "Shared PCHs", a feature which significantly speeds up compile times by attempting to share certain PCH files between modules that UBT detects is including those PCH's header files.
bUseShippingPhysXLibraries : True if Development and Release builds should use the release configuration of PhysX/APEX.
bUseCheckedPhysXLibraries : True if Development and Release builds should use the checked configuration of PhysX/APEX. if bUseShippingPhysXLibraries is true this is ignored.
bCheckLicenseViolations : Tells the UBT to check if module currently being built is violating EULA.
bBreakBuildOnLicenseViolation : Tells the UBT to break build if module currently being built is violating EULA.
bCreateMapFile : Outputs a map file as part of the build.
bAllowRuntimeSymbolFiles : True if runtime symbols files should be generated as a post build step for some platforms. These files are used by the engine to resolve symbol names of callstack backtraces in logs.
PackagePath : Package full path (directory + filename) where to store input files used at link time Normally used to debug a linker crash for platforms that support it
CrashDiagnosticDirectory : Directory where to put crash report files for platforms that support it
bCheckSystemHeadersForModification : Whether headers in system paths should be checked for modification when determining outdated actions.
bDisableLinking : Whether to disable linking for this target.
bFlushBuildDirOnRemoteMac : Whether to clean Builds directory on a remote Mac before building.
bPrintToolChainTimingInfo : Whether to write detailed timing info from the compiler and linker.
bParseTimingInfoForTracing : Whether to parse timing data into a tracing file compatible with chrome://tracing.
bPublicSymbolsByDefault : Whether to expose all symbols as public by default on POSIX platforms
MSVCCompileActionWeight : The weight(cpu/memory utilization) of a MSVC compile action
ClangCompileActionWeight : The weight(cpu/memory utilization) of a clang compile action
CppStandardEngine : Which C++ standard to use for compiling this target (for engine modules)
CppStandard : Which C++ standard to use for compiling this target (for non-engine modules)
CStandard : Which C standard to use for compiling this target
MinCpuArchX64 : Direct the compiler to generate AVX instructions wherever SSE or AVX intrinsics are used, on the x64 platforms that support it. Ignored for arm64. Note that by enabling this you are changing the minspec for the target platform, and the resultant executable will crash on machines without AVX support.
bMinCpuArchAPX : Direct the compiler to compile with APX support for X64. Note that by enabling this you are changing the minspec for the PC platform, and the resultant executable will crash on machines without APX support.
MinArm64CpuTarget : Select a minimum ARM64 target CPU. This will change what ARMv8(9)-A ISA + extension code will be compiled for. Changing it from default will guarantee not to work on all ARM64 CPUs. Currently supported by clang compiler only
bDetailedUnityFiles : Whether to add additional information to the unity files, such as '_of_X' in the file name. Not recommended.
bDisableDebugInfo : Whether to globally disable debug info generation; Obsolete, please use TargetRules.DebugInfoMode instead
bUndefinedIdentifierErrors : Forces the use of undefined identifiers in conditional expressions to be treated as errors.
bPrioritizeDependencyScanning : When enabled, dependency scanning is prioritized to avoid being slowed down by running local jobs.
bStopSNDBSCompilationAfterErrors : When enabled, SN-DBS will stop compiling targets after a compile error occurs. Recommended, as it saves computing resources for others.
bXGENoWatchdogThread : Whether to use the no_watchdog_thread option to prevent VS2015 toolchain stalls.
bShowXGEMonitor : Whether to display the XGE build monitor.
bStopXGECompilationAfterErrors : When enabled, XGE will stop compiling targets after a compile error occurs. Recommended, as it saves computing resources for others.
bShowTimeline : If set and tool execution was successful, then display an unreal build tool script execution timeline summary. If unset or the tool execution failed, print the same information silently to the log.
TempDirectory : If set TMP\TEMP will be overidden to this directory, each process will create a unique subdirectory in this folder.
bDeleteTempDirectory : If set the application temp directory will be deleted on exit, only when running with a single instance mutex.
bUseIpv6 : Whether telemetry/horde should use ipv6 or not. If network does not support ipv6 then using ipv6 can cause multi-second stalls
BaseLogFileName : Specifies the file to use for logging.
IWYUBaseLogFileName : Specifies the file to use for logging.
bStripSymbols : Whether to strip symbols or not (implied by Shipping config).
bCreateStripFlagFile : Whether to create a ".stripped" file when stripping symbols or not.
bSkipClangValidation : Disables clang build verification checks on static libraries
bEnableAddressSanitizer : Enables address sanitizer (ASan)
bEnableThreadSanitizer : Enables thread sanitizer (TSan).
bEnableUndefinedBehaviorSanitizer : Enables undefined behavior sanitizer (UBSan)
bUsePortableToolchain : Experimental: Enable portable toolchain for distributed compilation. Separates SDK-dependent files (local) from portable files (remote). Requires Auto SDK (UE_SDKS_ROOT).
bUseDSYMFiles : Enables the generation of .dsym files. This can be disabled to enable faster iteration times during development.
bEnableLibFuzzer : Enables LibFuzzer.
bEnableMemorySanitizer : Enables memory sanitizer (MSan)
bEnableAutoRTFMSanitizer : Enables AutoRTFM sanitizer (AutoRTFMSan)
bTuneDebugInfoForLLDB : Turns on tuning of debug info for LLDB
bDisableDumpSyms : Whether to globally disable calling dump_syms
bDisableStripSymbols : Whether to globally skip symbol stripping
bLinuxSampleBasedPGO : If specified along with -PGOProfile, use sample-based PGO instead of instrumented.
bEnableInstrumentation : Enables instrumentation.
bWriteSolutionOptionFile : Whether to write a solution option (suo) file for the sln.
bVsConfigFile : Whether to write a .vsconfig file next to the sln to suggest components to install.
bAddFastPDBToProjects : Whether to add the -FastPDB option to build command lines by default.
bUsePerFileIntellisense : Whether to generate per-file intellisense data.
bEditorDependsOnShaderCompileWorker : Whether to include a dependency on ShaderCompileWorker when generating project files for the editor.
UEBuildConfiguration
bForceHeaderGeneration : If true, force header regeneration. Intended for the build machine.
bEnableUHTInputCache : If true, enable the UHT input cache for both reading and writing
bDoNotBuildUHT : If true, do not build UHT, assume it is already built.
bFailIfGeneratedCodeChanges : If true, fail if any of the generated header files is out of date.
bAllowHotReloadFromIDE : True if hot-reload from IDE is allowed.
bForceDebugUnrealHeaderTool : If true, the Debug version of UnrealHeaderTool will be built and run instead of the Development version.
bUseBuiltInUnrealHeaderTool : If true, use C# UHT internal to UBT
bWarnOnCppUnrealHeaderTool : If true, generate warnings when C++ UHT is used
WindowsPlatform
MaxRootPathLength : Maximum recommended root path length.
MaxNestedPathLength : Maximum length of a path relative to the root directory. Used on Windows to ensure paths are portable between machines.
bIgnoreStalePGOData : If -PGOOptimize is specified but the linker flags have changed since the last -PGOProfile, this will emit a warning and build without PGO instead of failing during link with LNK1268.
bUseFastGenProfile : If specified along with -PGOProfile, then /FASTGENPROFILE will be used instead of /GENPROFILE. This usually means that the PGO data is generated faster, but the resulting data may not yield as efficient optimizations during -PGOOptimize
PreMergedPgdFilename : If specified along with -PGOOptimize, will use the specified per-merged pgd file instead of the usual pgd file with loose pgc files.
bPGONoExtraCounters : If specified along with -PGOProfile, prevent the usage of extra counters. Please note that by default /FASTGENPROFILE doesnt use extra counters
bSampleBasedPGO : If specified along with -PGOProfile, use sample-based PGO instead of instrumented. Currently Intel oneAPI 2024.0+ only.
DefaultPreferredCompilers : Default order of preference when Compiler is set to Default. If populated and none listed are available this will cause a warning.
CompilerVersion : The specific compiler version to use. This may be a specific version number (for example, "14.13.26128"), the string "Latest" to select the newest available version, or the string "Preview" to select the newest available preview version. By default, and if it is available, we use the toolchain version indicated by WindowsPlatform.DefaultToolChainVersion (otherwise, we use the latest version).
ToolchainVersion : The specific msvc toolchain version to use if the compiler is not msvc. This may be a specific version number (for example, "14.13.26128"), the string "Latest" to select the newest available version, or the string "Preview" to select the newest available preview version. By default, and if it is available, we use the toolchain version indicated by WindowsPlatform.DefaultToolChainVersion (otherwise, we use the latest version).
bVCFastFail : True if /fastfail should be passed to the msvc compiler and linker
bVCExtendedWarningInfo : True if /d2ExtendedWarningInfo should be passed to the compiler and /d2:-ExtendedWarningInfo to the linker
bClangStandaloneDebug : True if optimizations to reduce the size of debug information should be disabled. Disabling this option can decrease pdb size but may degrade the debugging experience. See https://clang.llvm.org/docs/UsersManual.html#cmdoption-fstandalone-debug for more information
bAllowClangLinker : True if we should use the Clang linker (LLD) when we are compiling with Clang or Intel oneAPI, otherwise we use the MSVC linker.
bAllowRadLinker : True if we should use the Rad linker
WindowsSdkVersion : The specific Windows SDK version to use. This may be a specific version number (for example, "8.1", "10.0" or "10.0.10150.0"), or the string "Latest", to select the newest available version. By default, and if it is available, we use the Windows SDK version indicated by WindowsPlatform.DefaultWindowsSdkVersion (otherwise, we use the latest version).
bWriteSarif : Whether .sarif files containing errors and warnings are written alongside each .obj, if supported
bStripPrivateSymbols : Whether to request the linker create a stripped pdb file as part of the build. If enabled the full debug pdb will have the extension .full.pdb
bNoLinkerDebugInfo : If you supply -NoDebugInfo, windows platforms still create debug info while linking. Set this to true to not create debug info while linking in this circumstance
PCHMemoryAllocationFactor : Determines the amount of memory that the compiler allocates to construct precompiled headers (/Zm).
AdditionalLinkerOptions : Allow the target to specify extra options for linking that aren't otherwise noted here
bSyntaxCheckOnly : Tells the compiler to check only the syntax of the source files on the command line. (/Zs)
bReducedOptimizeHugeFunctions : Whether to reduce optimizations for huge functions over an instruction threshold to improve compile time https://devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2019-versions-16-3-and-16-4/
ReducedOptimizeHugeFunctionsThreshold : The instruction threshold to use when reducing optimizations for huge functions, default 20000.
bClangTimeTrace : (Experimental) Appends the -ftime-trace argument to the command line for Clang to output a JSON file containing a timeline for the compile. See http://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/ for more info.
bCompilerTrace : Outputs compile timing information so that it can be analyzed.
bSetResourceVersions : If enabled will set the ProductVersion embeded in windows executables and dlls to contain BUILT_FROM_CHANGELIST and BuildVersion Enabled by default for all precompiled and Shipping configurations. Regardless of this setting, the versions from Build.version will be available via the BuildSettings module Note: Embedding these versions will cause resource files to be recompiled whenever changelist is updated which will cause binaries to relink
InlineFunctionExpansionLevel : Which level to use for Inline Function Expansion when TargetRules.bUseInlining is enabled
bDynamicDebugging : If specificed Visual Studio Dynamic Debugging support will be enabled, unless the compiler or linker is not MSVC or LTCG is enabled
Compiler : Version of the compiler toolchain to use on Windows platform. A value of "default" will be changed to a specific version at UBT start up.
ToolChain : Version of the toolchain to use on Windows platform when a non-msvc Compiler is in use, to locate include paths etc.
PreferredCompilers : Order of preference when Compiler is set to Default. If populated and none listed are available this will cause a warning.
ToolchainVersionWarningLevel : Warning level when reporting toolchains that are not in the preferred version list
bStrictConformanceMode : Enables strict standard conformance mode (/permissive-).
bUpdatedCPPMacro : Enables updated __cplusplus macro (/Zc:__cplusplus).
bStrictInlineConformance : Enables inline conformance (Remove unreferenced COMDAT) (/Zc:inline).
bStrictEnumTypesConformance : Enables enum types conformance (/Zc:enumTypes).
bStrictODRViolationConformance : Enables enforcing standard C++ ODR violations (/Zc:checkGwOdr).
bDisableVolatileMetadata : Volatile Metadata is enabled by default and improves x64 emulation on arm64, but may come at a small performance cost (/volatileMetadata-).
StructMemberAlignment : Controls how the members of a structure are packed into memory and specifies the same packing for all structures in a module. See https://learn.microsoft.com/en-us/cpp/build/reference/zp-struct-member-alignment
bConfigureVSRemoteDebugger : This will configure the Visual Studio project settings for remote debugging based on the fields below. Refer to https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging-cpp for details on setting up Visual Studio and the remote device for remote debugging. The is also dependent on the new remote Windows dev tools. See https://aka.ms/GameRemoteDevtools and assumes the remote device has the game deployed already
RemoteWinRoot : Default remote deployment path for Windows Remote Deployment. Must match wdendpoint
RemoteDebugMachineX64 : Default remote machine name for Windows X64 remote debugging. Must previously be paired
RemoteDebugMachineArm64 : Default remote machine name for Windows Arm64 and Arm64ec remote debugging. Must previously be paired
bRemoteDebuggerAuthentication : Whether remote debugging should use authentication or not
ModuleConfiguration
DisableMergingModuleAndGeneratedFilesInUnityFiles : List of modules that disables merging module and generated cpp files in the same unity files.
DisableUnityBuild : List of modules to disable unity builds for
EnableOptimizeCode : List of modules to enable optimizations for
DisableOptimizeCode : List of modules to disable optimizations for
OptimizeForSize : List of modules to optimize for size. This allows the target to override module optimization level Note that this may disable PCH usage if a private PCH is not provided
OptimizeForSizeAndSpeed : List of modules to optimize for size and speed. This allows the target to override module optimization level Note that this may disable PCH usage if a private PCH is not provided
TargetRules
bCompileChaosVisualDebuggerSupport : Whether to compile in Chaos Visual Debugger (CVD) support features to record the state of the physics simulation
bCompileRewindDebuggerSupport : Whether to compile in RewindDebugger (RWD) support features to record traces for debug primitives and logs
bCompileAsioSSLSupport : Whether to compile in ssl support in the third party asio module
UnrealBuildAccelerator
bStoreObjFilesCompressed : Store object (.obj) compressed on disk. Requires uba to do link step where it will decompress obj files again
Cache : Address of the uba cache service. Will automatically use cache if connected
WriteCache : Set cache to write, expects one of [True, False, BuildMachineOnly]
RequireVFS : Set cache to require VFS to be enabled
CacheCrypto : Crypto used to connect to cache server.
CacheDesiredConnectionCount : Desired connection count. When there is latency it might be a good idea to have multiple tcp connections
Providers : List of provider names for remote connections.
BuildMachineProviders : List of provider names for remote connections
CacheProviders : List of provider names for remote cache.
BuildMachineCacheProviders : List of provider names for remote cache
bDisableRemote : When set to true, UBA will not use any remote help
bForceBuildAllRemote : When set to true, UBA will force all actions that can be built remotely to be built remotely. This will hang if there are no remote agents available
bAllowRetry : When set to true, actions that fail locally with certain error codes will retry without uba.
bForcedRetry : When set to true, all actions that fail locally with UBA will be retried without UBA.
bForcedRetryRemote : When set to true, actions that fail remotely with UBA will be retried locally with UBA.
bStrict : When set to true, all errors and warnings from UBA will be output at the appropriate severity level to the log (rather than being output as 'information' and attempting to continue regardless).
bStoreRaw : If UBA should store cas compressed or raw
bLinkRemote : If UBA should distribute linking to remote workers. This needs bandwidth but can be an optimization
StoreCapacityGb : The amount of gigabytes UBA is allowed to use to store workset and cached data. It is a good idea to have this >10gb
MaxWorkers : Max number of worker threads that can handle messages from remotes.
SendSize : Max size of each message sent from server to client
Host : Which ip UBA server should listen to for connections
Port : Which port UBA server should listen to for connections.
RootDir : Which directory to store files for UBA.
bUseQuic : Use Quic protocol instead of Tcp (experimental)
bLogEnabled : Enable logging of UBA processes
bPrintSummary : Prints summary of UBA stats at end of build
bLaunchVisualizer : Launch visualizer application which shows build progress
bResetCas : Resets the cas cache
TraceFile : Provide custom path for trace output file
bDetailedTrace : Add verbose details to the UBA trace
bDisableWaitOnMem : Disable UBA waiting on available memory before spawning new processes
bAllowKillOnMem : Let UBA kill running processes when close to out of memory
bWriteToDisk : Skip writing intermediate and output files to disk. Useful for validation builds where we don't need the output
bDisableCustomAlloc : Set to true to disable mimalloc and detouring of memory allocations.
Zone : The zone to use for UBA.
bUseCrypto : Set to true to enable encryption when transferring files over the network.
bUseKnownInputs : Set to true to provide known inputs to processes that are run remote. This is an experimental feature to speed up build times when ping is higher
ActionsOutputFile : Write yaml file with all actions that are queued for build. This can be used to replay using "UbaCli.exe local file.yaml"
bDetailedLog : Set to true to see more info about what is happening inside uba and also log output from agents
AllowDetour : Disable all detouring making all actions run outside uba
WritePlaceholders : Write zero-byte placeholder files for exe/dll/pdb instead of the full files. This can be useful for validation builds or builds just populating cache
SharedMemoryTempFile : Makes the shared memory used in UBA to be backed by a Temp+DeleteOnClose file. This trades committed memory charge for the risk of more I/O under RAM pressure
MaxRacingPercent : With this enabled local machine will start local processes to race remotes when utilization goes under percent number So if local machine can run 20 actions and only run 10, that means that it is 50% utilized. If MaxRacingPercent is set to 70%, local machine will look at what actions remotes are running and start running them too until it reaches 70% utilization
CacheMaxWorkers : Max number of cache download tasks that can execute in parallel
CacheShuffle : Shuffle the list of cache servers before each read attempt
ForceNoCache : Shuffle the list of cache servers before each read attempt
ReportCacheMissReason : Report reason a cache miss happened. Useful when searching for determinism/portability issues
CacheLinkActions : Control if link actions should be downloaded from cache or not
CompressionLevel : Compression level. Options are None, SuperFast, VeryFast, Fast, Normal, Optimal1 to Optimal5
bDisableHorde : Disable horde all together
TestTargetRules
bCompileChaosVisualDebuggerSupport : Whether to compile in Chaos Visual Debugger (CVD) support features to record the state of the physics simulation
bCompileRewindDebuggerSupport : Whether to compile in RewindDebugger (RWD) support features to record traces for debug primitives and logs
bCompileAsioSSLSupport : Whether to compile in ssl support in the third party asio module
FASTBuild
FBuildExecutablePath : Used to specify the location of fbuild.exe if the distributed binary isn't being used
bEnableDistribution : Controls network build distribution
FBuildBrokeragePath : Used to specify the location of the brokerage. If null, FASTBuild will fall back to checking FASTBUILD_BROKERAGE_PATH
FBuildCoordinator : Used to specify the FASTBuild coordinator IP or network name. If null, FASTBuild will fall back to checking FASTBUILD_COORDINATOR
bEnableCaching : Controls whether to use caching at all. CachePath and FASTCacheMode are only relevant if this is enabled.
CacheMode : Cache access mode - only relevant if bEnableCaching is true;
FBuildCachePath : Used to specify the location of the cache. If null, FASTBuild will fall back to checking FASTBUILD_CACHE_PATH
bForceRemote : Whether to force remote
bStopOnError : Whether to stop on error
MsvcCRTRedistVersion : Which MSVC CRT Redist version to use
CompilerVersion : Which MSVC Compiler version to use
SNDBS
bAllowOverVpn : When set to false, SNDBS will not be enabled when running connected to the coordinator over VPN. Configure VPN-assigned subnets via the VpnSubnets parameter.
VpnSubnets : List of subnets containing IP addresses assigned by VPN
ParallelExecutor
ProcessorCountMultiplier : Processor count multiplier for local execution. Can be below 1 to reserve CPU for other tasks. When using the local executor (not XGE), run a single action on each CPU core. Note that you can set this to a larger value to get slightly faster build times in many cases, but your computer's responsiveness during compiling may be much worse. This value is ignored if the CPU does not support hyper-threading.
MemoryPerActionBytes : Free memory per action in bytes, used to limit the number of parallel actions if the machine is memory starved. Set to 0 to disable free memory checking.
ProcessPriority : The priority to set for spawned processes. Valid Settings: Idle, BelowNormal, Normal, AboveNormal, High Default: BelowNormal or Normal for an Asymmetrical processor as BelowNormal can cause scheduling issues.
bStopCompilationAfterErrors : When enabled, will stop compiling targets after a compile error occurs.
StopCompilationAfterNumErrors : When set, will stop compiling targets after a set number of errors occurs.
bShowCompilationTimes : Whether to show compilation times along with worst offenders or not.
bShowPerActionCompilationTimes : Whether to show compilation times for each executed action
bLogActionCommandLines : Whether to log command lines for actions being executed
bPrintActionTargetNames : Add target names for each action executed
bShowCPUUtilization : Whether to show CPU utilization after the work is complete.
Horde
Server : Uri of the Horde server
Token : Auth token for the Horde server
OidcProvider : OIDC id for the login to use
Pool : Pool for the Horde agent to assign if no override current platform doesn't have it set
LinuxPool : Pool for the Horde agent to assign when on Linux
MacPool : Pool for the Horde agent to assign when on Mac
WindowsPool : Pool for the Horde agent to assign when on Windows
Requirements : Requirements for the Horde agent to assign
Cluster : Compute cluster ID to use in Horde. Set to "_auto" to let Horde server resolve a suitable cluster. In multi-region setups this is can simplify configuration of UBT/UBA a lot.
LocalHost : Which ip UBA server should give to agents. This will invert so host listens and agents connect
MaxCores : Max cores allowed to be used by build session
MaxWorkers : Max workers allowed to be used by build session
MaxIdle : Max idle time in seconds to maintain a connection to a worker when no pending actions are currently available due to waiting on dependencies
StartupDelay : How long UBT should wait to ask for help. Useful in build configs where machine can delay remote work and still get same wall time results (pch dependencies etc)
AllowWine : Allow use of Wine. Only applicable to Horde agents running Linux. Can still be ignored if Wine executable is not set on agent.
ConnectionMode : Connection mode for agent/compute communication for valid modes.
Encryption : Encryption to use for agent/compute communication. Note that UBA agent uses its own encryption. for valid modes.
UBASentryUrl : Sentry URL to send box data to. Optional.
AgentPlatform : Set which platform the agents requested should have. If not set, default will be host platform
VerboseAuthLogging : When true, enables verbose OIDC auth logging for diagnostics
XGE
bAllowOverVpn : When set to false, XGE will not be enabled when running connected to the coordinator over VPN. Configure VPN-assigned subnets via the VpnSubnets parameter.
VpnSubnets : List of subnets containing IP addresses assigned by VPN
bAllowRemoteLinking : Whether to allow remote linking
bUseVCCompilerMode : Whether to enable the VCCompiler=true setting. This requires an additional license for VC tools.
MinActions : Minimum number of actions to use XGE execution.
bUnavailableIfInUse : Check for a concurrent XGE build and treat the XGE executor as unavailable if it's in use. This will allow UBT to fall back to another executor such as the parallel executor.
Log
bBackupLogFiles : Whether to backup an existing log file, rather than overwriting it.
LogFileBackupCount : The number of log file backups to preserve. Older backups will be deleted.
Telemetry
Providers : Providers to load opt-in telemetry connection information from ini. If unset, or the provider categories do not contain connection info, no telemetry will be sent.
BuildMode
bIgnoreJunk : Whether to skip checking for files identified by the junk manifest.
ProjectFileGenerator
DisablePlatformProjectGenerators : Disable native project file generators for platforms. Platforms with native project file generators typically require IDE extensions to be installed.
Format : Default list of project file formats to generate.
bGenerateIntelliSenseData : True if intellisense data should be generated (takes a while longer).
bIncludeDocumentation : True if we should include documentation in the generated projects.
bAllDocumentationLanguages : True if all documentation languages should be included in generated projects, otherwise only INT files will be included.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeBuildSystemFiles : True if build system files should be included.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeLocalizationFiles : True if we should include localization files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
bKeepSourceSubDirectories : True if we should reflect "Source" sub-directories on disk in the primary project as project directories. This (arguably) adds some visual clutter to the primary project but it is truer to the on-disk file organization.
Platforms : Names of platforms to include in the generated project files
Configurations : Names of configurations to include in the generated project files. See UnrealTargetConfiguration for valid entries
bGatherThirdPartySource : If true, we'll parse subdirectories of third-party projects to locate source and header files to include in the generated projects. This can make the generated projects quite a bit bigger, but makes it easier to open files directly from the IDE.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
bIncludeTestAndShippingConfigs : Whether we should include configurations for "Test" and "Shipping" in generated projects. Pass "-NoShippingConfigs" to disable this.
bIncludeDebugConfigs : Whether we should include configurations for "Debug" and "DebugGame" in generated projects. Pass "-NoDebugConfigs" to disable this.
bIncludeDevelopmentConfigs : Whether we should include configurations for "Development" in generated projects. Pass "-NoDevelopmentConfigs" to disable this.
bVisualStudioLinux : True if visual studio project should be generated in linux mode.
RemoteMac
ServerName : These two variables will be loaded from the XML config file in XmlConfigLoader.Init().
UserName : The remote username.
SshPrivateKey : If set, instead of looking for RemoteToolChainPrivate.key in the usual places (Documents/Unreal, Engine/UnrealBuildTool/SSHKeys or Engine/Build/SSHKeys), this private key will be used.
RsyncAuthentication : The authentication used for Rsync (for the -e rsync flag).
SshAuthentication : The authentication used for SSH (probably similar to RsyncAuthentication).
IOSToolChain
bUseDangerouslyFastMode : If this is set, then we do not do any post-compile steps -- except moving the executable into the proper spot on Mac.
WindowsTargetRules
ObjSrcMapFile : Whether we should export a file containing .obj to source file mappings.
AndroidStudioFileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
CLionGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
CMakefileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
CodeLiteGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
EddieProjectFileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
KDevelopGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
MakefileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
QMakefileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
RiderProjectFileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
VSCodeProjectFileGenerator
IncludeAllFiles : Includes all files in the generated workspace.
AddDebugAttachConfig : Whether VS Code project generation should include debug configurations to allow attaching to already running processes
AddDebugCoreConfig : Whether VS Code project generation should include debug configurations to allow core dump debugging
NoCompileCommands : Do not create compile commands json files with compiler arguments for each file; works better with VS Code extension using UBT server mode.
UseVSCodeExtension : Create a workspace file for use with VS Code extension that communicates directly with UBT.
LinuxDebuggerType : Debugger type to be used with Linux. Defaults to cppdbg.
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
VSWorkspaceProjectFileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
VCProjectFileGenerator
Version : The version of Visual Studio to generate project files for.
MaxSharedIncludePaths : Puts the most common include paths in the IncludePath property in the MSBuild project. This significantly reduces Visual Studio memory usage (measured 1.1GB -> 500mb), but seems to be causing issues with Visual Assist. Value here specifies maximum length of the include path list in KB.
ExcludedIncludePaths : Semi-colon separated list of paths that should not be added to the projects include paths. Useful for omitting third-party headers (e.g ThirdParty/WebRTC) from intellisense suggestions and reducing memory footprints.
ExcludedFilePaths : Semi-colon separated list of paths that should not be added to the projects. Useful for omitting third-party files (e.g ThirdParty/WebRTC) from intellisense suggestions and reducing memory footprints.
bBuildUBTInDebug : Forces UBT to be built in debug configuration, regardless of the solution configuration
bHeadersAsClCompile : Whether to treat headers as ClCompile. May cause intellisense issues but allows the VS Compile command to build headers.
bBuildLiveCodingConsole : Whether to include a dependency on LiveCodingConsole when building targets that support live coding.
bMakeProjectPerTarget : Whether to generate a project file for each individual target, and not include e.g. Editor/Client/Server in the Configuration.
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
XcodeProjectFileGenerator
bIncludeDocumentation : True if we should include documentation in the generated projects.
bUsePrecompiled : True if build targets should pass the -useprecompiled argument.
bIncludeEngineSource : True if we should include engine source in the generated solution.
bIncludeShaderSource : True if shader source files should be included in generated projects.
bIncludeConfigFiles : True if we should include config (.ini) files in the generated project.
bIncludeTemplateFiles : True if we should include template files in the generated project.
bIncludeEnginePrograms : True if we should include program projects in the generated solution.
IncludeCppSource : Whether to include C++ targets
bIncludeDotNetPrograms : True if we should include csharp program projects in the generated solution. Pass "-DotNet" to enable this.
bIncludeTempTargets : Whether to include temporary targets generated by UAT to support content only projects with non-default settings.
PrimaryProjectName : Name of the primary project file -- for example, the base file name for the Visual Studio solution file, or the Xcode project file on Mac.
bPrimaryProjectNameFromFolder : If true, sets the primary project name according to the name of the folder it is in.
bPrimaryProjectNameAppendDriveLetter : If true, append the drive letter to the primary project name.
SourceFileWorkingSet
Provider : Sets the provider to use for determining the working set.
RepositoryPath : Sets the path to use for the repository. Interpreted relative to the Unreal Engine root directory (the folder above the Engine folder) -- if relative.
GitPath : Sets the path to use for the Git executable. Defaults to "git" (assuming it is in the PATH).
GDKPlatform
ContentOnlyDebugProject : Path to the .uproject file to use when F5 debugging a content-only project via the UE5 engine project
bVerifyLibGDKEditions : Whether to verify that any libs the application links to are using the same GDK edition
bVerifyDLLGDKEditions : Whether to verify that any DLLs the application links to are using the same GDK edition