언리얼 빌드 툴(Unreal Build Tool, UBT)은 Config/UnrealBuildTool
폴더에 생성된 언리얼 엔진(UE) 프로젝트에 추가되는 것 외에도, Windows의 다음 위치에 있는 XML 환경설정 파일에서 세팅을 가져와 읽습니다.
Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
<USER>/AppData/Roaming/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
My Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
Mac에서는 아래의 경로가 대신 사용됩니다.
/Users/<USER>/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
/Users/<USER>/Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
Linux에서는 아래의 경로가 대신 사용됩니다.
/home/<USER>/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
/home/<USER>/Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
프로젝트별 빌드 환경설정의 경우 <PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
디렉터리를 사용하세요. 여기서 <PROJECT_DIRECTORY>
는 프로젝트의 디렉터리 경로입니다.
빌드 환경설정을 설정하고 커스터마이징하는 데 유용한 아래의 프로퍼티에 관해 자세히 살펴보겠습니다.
빌드 환경설정
$ bIgnoreOutdatedImportLibraries : 타깃을 빌드할 때 구버전 임포트 라이브러리 파일을 무시할지 여부입니다. 반복작업 시간을 단축하려면 True로 설정하세요. 기본적으로 종속 .lib만 변경된 경우에는 타깃을 다시 연결하지 않습니다. 타깃의 종속 헤더 파일도 변경되어 타깃이 자동으로 다시 빌드되지 않는 한 임포트 라이브러리는 실제로 변경되지 않았을 가능성이 크기 때문입니다.
$ bPrintDebugInfo : 디버그 정보를 콘솔에 기록할지 여부입니다.
$ bAllowHybridExecutor : 하이브리드 실행기(원격 실행기 및 로컬 실행기)를 사용할지 여부입니다. 이제 지원되지 않습니다.
$ RemoteExecutorPriority : 원격 실행기(XGE, SNDBS, FASTBuild, UBA)의 우선순위입니다.
$ bAllowUBAExecutor : UnrealBuildAccelerator 실행기를 사용할지 여부입니다.
$ bAllowUBALocalExecutor : UnrealBuildAccelerator(로컬 전용) 실행기를 사용할지 여부입니다.
$ bAllowXGE : 사용 가능한 경우 XGE를 사용할 수 있는지 여부입니다. 디폴트 값은 true입니다.
$ bAllowFASTBuild : 사용 가능한 경우 FASTBuild를 사용할 수 있는지 여부입니다. 디폴트 값은 true입니다.
$ bAllowSNDBS : 사용 가능한 경우 SN-DBS를 사용할 수 있는지 여부입니다. 디폴트 값은 true입니다.
$ bUseUBTMakefiles : 타깃 데이터를 캐싱하여 매우 빠른 반복 빌드의 지원을 활성화합니다. 이 옵션을 활성화하면 타깃이 처음으로 빌드됐을 때 언리얼 빌드 툴(Unreal Build Tool, UBT)이 해당 타깃용 'UBT Makefile'을 생성합니다. 후속 빌드는 이 Makefile을 로드하고 유효성 검사와 빌드 호출을 매우 빠르게 시작합니다. 단, 소스 파일을 프로젝트에 추가하거나 제거하면 UBT가 해당 파일에 관한 정보를 수집해야만 빌드를 성공적으로 완료할 수 있습니다. 따라서 소스 파일을 추가/제거한 후에는 이 정보를 다시 수집하도록 UBT에 지시하기 위해 프로젝트 파일 제너레이터를 실행해야 합니다.
'UBT Makefile'을 무효화할 수 있는 이벤트:
.cpp 파일 추가/제거
UObject가 있는 .h 파일 추가/제거
UObject 타입이 없었던 파일에 새 UObject 타입 추가
글로벌 빌드 세팅 변경(이 파일의 대다수 세팅이 적합함)
언리얼 헤더 툴(Unreal Header Tool) 작동 방식에 영향을 미치는 코드 변경
'-gather' 실행인자를 전달하거나 단순히 프로젝트 파일을 재생성하는 방식으로 'UBT Makefile'을 강제로 재생성할 수 있습니다.
또한 언리얼 빌드 툴(UBT)이 구버전 종속성을 탐지하는 시간을 크게 단축하는 포함 파일 종속성 고속 스캔 및 캐싱 시스템도 이 옵션으로 활성화할 수 있습니다. 이 옵션을 활성화하면 딥 C++ 포함 그래프를 생성할 필요 없이 종속 빌드 결과물이 구버전인 것으로 확인된 경우에만 간접 포함 파일을 스캔하고 캐싱합니다. 다음 빌드 단계에서는 캐싱된 간접 포함 파일을 로드하고 유효성을 검사합니다.
$ MaxParallelActions : 병렬로 실행할 수 있는 액션 수입니다. 0이면 가용 코어 개수 및 메모리 기준으로 코드가 디폴트를 선택합니다. ParallelExecutor, HybridExecutor, LocalExecutor에 적용됩니다.
$ bAllCores : 사용 가능한 총 CPU 코어 수를 결정할 때 논리 코어를 고려합니다.
$ bCompactOutput : 실행기가 지원하는 경우 오류만 출력하는 등, 간소화된 출력을 작성하도록 실행기에 지시합니다. 이 필드는 명령줄이나 XML에서 지정된 경우 값을 보유하는 데 사용됩니다.
$ bArtifactRead : 설정하면 아티팩트를 읽습니다
$ bArtifactWrites : 설정하면 아티팩트를 작성합니다
$ bLogArtifactCacheMisses : true인 경우 모든 아티팩트 캐시 미시를 정보 메시지로 기록합니다.
$ ArtifactDirectory : 아티팩트를 보관할 위치입니다.
$ bUseUnityBuild : 빠른 컴파일을 위해 C++ 코드를 더 큰 파일로 통일할지 여부입니다.
$ bForceUnityBuild : 빠른 컴파일을 위해 C++ 소스 파일을 강제로 더 큰 파일로 결합할지 여부입니다.
$ DefaultWarningLevel : 분류되지 않은 경고의 디폴트 처리 방식입니다.
$ DeprecationWarningLevel : 지원 중단 경고를 오류로 보고할 레벨입니다.
$ bShowIncludes : 각 소스 파일에 포함된 파일을 출력합니다.
$ bDebugBuildsActuallyUseDebugCRT : 디버그 빌드를 위해 디버그 C++ 런타임(CRT)을 활성화합니다. 기본적으로 항상 릴리스 런타임을 사용합니다. 디버그 버전이 언리얼 엔진 프로젝트를 디버깅할 때 특별히 유용한 것은 아니고, 디버그 CRT 라이브러리에 대해 연결하면 서드파티 라이브러리 종속성이 디버그 CRT를 사용하여 컴파일하도록 강제하기 때문(그리고 종종 느리게 실행되기 때문)입니다. 단지 프로그램의 코드를 디버그하기 위해 서드파티 스태틱 라이브러리의 디버그 버전 사본이 별도로 필요하다는 점이 종종 불편할 수 있습니다.
$ bLegalToDistributeBinary : 특별한 제한(예: CarefullyRedist, NotForLicensees, NoRedist)이 있는 폴더 안의 모듈에 대한 종속성이 있는 경우에도 이 타깃의 출력을 공개적으로 배포할 수 있는지 여부입니다.
$ bForceNoAutoRTFMCompiler : AutoRTFM Clang 컴파일러 강제 비활성화를 사용할지 여부입니다.
$ bUseAutoRTFMVerifier : AutoRTFM 검증 메타데이터 방출 활성화 여부입니다.
$ bUseInlining : 모든 모듈에서 인라이닝을 활성화합니다.
$ bUseDebugLiveCodingConsole : 라이브 코딩 지원 활성화 여부입니다
$ bUseXGEController : XGE 컨트롤러 작업자 및 모듈이 엔진 빌드에 포함되어야 하는지 여부입니다. XGE 인터셉션 인터페이스를 사용하는 분산 셰이더 컴파일에 필요합니다.
$ bUseAdaptiveUnityBuild : 휴리스틱 기법을 사용하여 현재 어떤 파일이 반복되고 있는지 확인하고 통합 블롭에서 제외하여 증분 컴파일 시간이 빨라지게 합니다. 현재 구현에서는 파일이 수정된 경우 소스 컨트롤 시스템을 통해 파일이 쓰기 가능하게 된다고 가정하고 읽기 전용 플래그를 사용하여 작업 세트를 구분합니다. 퍼포스(Perforce)의 경우 True이지만 Git의 경우에는 그렇지 않습니다.
$ bAdaptiveUnityDisablesOptimizations : 적응형 비Unity 작업 세트에 있는 파일에 대해 최적화를 비활성화합니다.
$ bAdaptiveUnityDisablesPCH : 적응형 비Unity 작업 세트에 있는 파일에 대해 강제 포함 PCH를 비활성화합니다.
$ bAdaptiveUnityDisablesProjectPCHForProjectPrivate : bAdaptiveUnityDisablesProjectPCH에 대한 지원 스토리지입니다.
$ bAdaptiveUnityCreatesDedicatedPCH : 작업 세트의 각 소스 파일에 대한 전용 PCH를 만들어 cpp 전용 변경사항을 더 빠르게 반복작업할 수 있습니다.
$ bAdaptiveUnityEnablesEditAndContinue : 작업 세트의 각 소스 파일에 대한 전용 PCH를 만들어 cpp 전용 변경사항을 더 빠르게 반복작업할 수 있습니다.
$ bAdaptiveUnityCompilesHeaderFiles : 헤더에서 누락된 include를 탐지하기 위해 작업 중인 세트에서 각 헤더 파일에 대한 전용 소스 파일을 생성합니다.
$ MinGameModuleSourceFilesForUnityBuild : 통합 빌드가 해당 게임 모듈에서 활성화되기 위한 최소 소스 파일 수입니다. 이를 통해 전체 리빌드 타임이 느려지는 대신 작은 게임 모듈의 단일 파일에 대한 반복 컴파일 타임이 빨라집니다. 이 세팅은 모듈의 Build.cs 파일에 있는 bFasterWithoutUnity 옵션으로 오버라이드될 수 있습니다.
$ bRequireObjectPtrForAddReferencedObjects : FReferenceCollector API에 TObjectPtr을 요구합니다. 점진적 GC와의 호환성을 위해 필요합니다.
$ bValidateFormatStrings : 잘못된 UE_LOG 포맷 스트링에 대한 컴파일 오류를 방출합니다.
$ bWarningsAsErrors : 모든 경고를 오류로 활성화할지 여부입니다. UE는 원래 대부분의 경고를 오류로 활성화하지만, 지원 중단 경고와 같은 일부 경고는 비활성화합니다.
$ UnsafeTypeCastWarningLevel : 지원하는 플랫폼에서 어떤 경고/오류 레벨을 안전하지 않은 타입 캐스트로 취급할지 나타냅니다(예: double->float 또는 int64->int32).
$ bUndefinedIdentifierErrors : 조건부 표현식에서 정의되지 않은 식별자를 사용하면 오류로 취급하도록 강제합니다.
$ UndefinedIdentifierWarningLevel : 조건부 표현식에서 정의되지 않은 식별자를 어떤 경고/오류 레벨로 취급할지 나타냅니다.
$ PCHPerformanceIssueWarningLevel : 잠재적 PCH 퍼포먼스 문제를 어떤 경고/오류 레벨로 취급할지 나타냅니다.
$ ModuleIncludePathWarningLevel : 일반 모듈 포함 경로 유효성 검사 메시지를 처리하는 방식입니다.
$ ModuleIncludePrivateWarningLevel : 프라이빗 모듈 포함 경로 유효성 검사 메시지를 처리하는 방식이며, 여기서 모듈은 프라이빗 헤더를 노출하는 포함 경로를 추가합니다.
$ ModuleIncludeSubdirectoryWarningLevel : 불필요 모듈 서브 디렉터리 포함 경로 유효성 검사 메시지를 처리하는 방식입니다.
$ bRetainFramePointers : 프레임 포인터가 유지되도록 강제합니다. 보통 mallocframeprofiler 등의 신뢰할 수 있는 콜스택을 원하는 경우 필요합니다.
$ bUseFastMonoCalls : 새로운 모놀리식 그래픽 드라이버에는 다양한 D3D 함수를 대체하는 '빠른 호출' 옵션이 있습니다.
$ NumIncludedBytesPerUnityCPP : 단일 통합 C++ 파일에 포함하기 위해 타깃으로 지정할 C++ 코드의 대략적인 바이트 수입니다.
$ bDisableModuleNumIncludedBytesPerUnityCPPOverride : 모듈에 의해 설정된 오버라이드를 비활성화합니다.
$ bStressTestUnity : 단일 통합 파일의 프로젝트에 모든 C++ 파일을 포함하여 C++ Unity 빌드 견고성을 집중 테스트할지 여부입니다.
$ bDetailedUnityFiles : 파일 이름에 '_of_X'를 넣는 등, Unity 파일에 추가 정보를 추가할지 여부입니다. 권장하지 않습니다.
$ bDisableDebugInfo : 전역적으로 디버그 정보 생성을 비활성화할지 여부입니다. 구버전이며 TargetRules.DebugInfoMode를 대신 사용해 주세요.
$ DebugInfo : 생성할 디버그 정보의 양입니다. 자세한 내용은 DebugInfoMode 열거형을 참조하세요.
$ DebugInfoLineTablesOnly : 해당 기능을 지원하는 컴파일러의 디버그 정보에 디버그 라인 번호 테이블만 출력해야 하는 경우 true로 설정합니다. TargetRules.DebugInfo를 오버라이드합니다. 자세한 내용은 https://clang.llvm.org/docs/UsersManual.html#cmdoption-gline-tables-only를 참조하세요.
$ bDisableDebugInfoForGeneratedCode : 생성된 파일에 대한 디버그 정보 생성을 비활성화할지 여부입니다. 비활성화하면 글루 코드가 많이 생성된 모듈의 링크 타임이 개선되며 pdb 크기가 감소합니다.
$ bOmitPCDebugInfoInDevelopment : 개발 빌드에서 PC/Mac에 대한 디버그 정보를 비활성화할지 여부입니다. 디버그 정보를 비활성화하면 링크 타임이 매우 빨라지므로 개발자 반복작업의 속도를 높일 수 있습니다.
$ bUsePDBFiles : PDB 파일을 Visual C++ 빌드에 사용해야 하는지 여부입니다.
$ bUsePCHFiles : PCH 파일을 사용해야 하는지 여부입니다.
$ bDeterministic : 결정론적 컴파일 및 링크에 필요한 플래그를 설정합니다. msvc에 대해 결정론적 모드를 활성화하면 코드 생성(codegen) 멀티스레딩이 비활성화되므로 컴파일 속도가 느려집니다.
$ bChainPCHs : clang으로 컴파일할 때 PCH를 연결해야 하는지 여부입니다.
$ bForceIncludePCHHeadersForGenCppFilesWhenPCHIsDisabled : PCH가 비활성화된 경우 gen.cpp 파일에 PCH 헤더를 강제로 포함해야 하는지 여부입니다.
$ bPreprocessDepends : 프리 프로세싱을 통해 종속성 파일을 생성합니다. 오버헤드가 늘어나기 때문에 빌드 배포 시에만 권장됩니다.
$ StaticAnalyzer : 스태틱 코드 분석을 활성화할지 여부입니다.
$ StaticAnalyzerOutputType : 스태틱 분석 툴에 사용할 출력 타입입니다. Clang에서만 지원됩니다.
$ StaticAnalyzerMode : 스태틱 분석 툴에 사용할 모드입니다. Clang에서만 지원됩니다. 얕은 모드로 설정하면 더 빨리 완료되지만 일반적으로 권장되지 않습니다.
$ StaticAnalyzerPVSPrintLevel : PVS-Studio를 사용하여 분석할 때 출력할 경고 레벨입니다.
$ bStaticAnalyzerProjectOnly : 엔진 모듈은 건너뛰고 프로젝트 모듈에 대해서만 스태틱 분석을 실행합니다.
$ bStaticAnalyzerIncludeGenerated : 활성화하면 생성된 소스 파일이 분석됩니다.
$ MinFilesUsingPrecompiledHeader : 사전 컴파일된 헤더를 생성하고 사용하기 위해 필요한 최소 파일 수입니다.
$ bForcePrecompiledHeaderForGameModules : 활성화하면 모듈에 소스 파일 수가 적은 경우에도 항상 게임 모듈에 사전 컴파일된 헤더가 생성됩니다. 이렇게 하면 소규모 게임 프로젝트의 전체 리빌드 타임이 느려지는 대신 프로젝트에서 일부 파일에 대한 반복 변경의 컴파일 타임이 크게 개선됩니다. 모듈의 Build.cs 파일에 MinFilesUsingPrecompiledHeaderOverride를 세팅하여 오버라이드할 수 있습니다.
$ bUseIncrementalLinking : 증분 링크를 사용할지 여부입니다. 증분 링크를 사용하면 작은 변경 사항이 있을 때 반복작업 시간이 빨라집니다. 일부 컴퓨터에서 버그가 있어(PDB 관련 컴파일 오류) 현재는 기본적으로 비활성화되어 있습니다.
$ bAllowLTCG : LTCG(링크 타임 코드 생성) 사용을 허용할지 여부입니다.
$ bPreferThinLTO : LTCG(링크 타임 코드 생성)가 활성화되었을 때 지원되는 플랫폼에서 더 가벼운 버전을 우선 사용할지 여부입니다.
$ ThinLTOCacheDirectory : 지원되는 플랫폼에서 ThinLTO 캐시를 배치할 디렉터리입니다.
$ ThinLTOCachePruningArguments : 지원되는 플랫폼에서 ThinLTO 캐시를 정리하기 위해 적용되는 실행인자입니다. 실행인자는 ThinLTOCacheDirectory가 설정된 경우에만 적용됩니다.
$ bPGOProfile : 이 빌드에서 PGO(프로파일 기반 최적화) 인스트루먼테이션을 활성화할지 여부입니다.
$ bPGOOptimize : PGO(프로파일 기반 최적화)로 이 빌드를 최적화할지 여부입니다.
$ bCodeCoverage : 타깃에 코드 커버리지 컴파일 및 연결이 필요한지 여부입니다.
$ bSupportEditAndContinue : 편집 및 계속을 지원할지 여부입니다.
$ bOmitFramePointers : 프레임 포인터를 생략할지 여부입니다. 비활성화하면 PC에서 메모리를 프로파일링하는 경우 등에 유용합니다.
$ bShaderCompilerWorkerTrace : true일 경우 셰이더 컴파일러 워커에 대해 빌드에서 언리얼 인사이트(utrace) 프로파일링을 활성화합니다(USE_SHADER_COMPILER_WORKER_TRACE=1 정의).
$ bUseSharedPCHs : '공유 PCH'를 활성화합니다. 이 기능은 UBT가 해당 PCH의 헤더 파일을 포함하고 있다고 탐지한 모듈 간에 특정 PCH 파일 공유를 시도하여 컴파일 시간 속도를 크게 높입니다.
$ bUseShippingPhysXLibraries : 개발 및 출시 빌드에서 PhysX/APEX의 출시 환경설정을 사용해야 하는 경우 true로 설정합니다.
$ bUseCheckedPhysXLibraries : 개발 및 출시 빌드에서 PhysX/APEX의 확인된 환경설정을 사용해야 하는 경우 true로 설정합니다. bUseShippingPhysXLibraries가 true일 경우 무시됩니다.
$ bCheckLicenseViolations : 현재 빌드 중인 모듈이 EULA를 위반하는지 확인하도록 UBT에 지시합니다.
$ bBreakBuildOnLicenseViolation : 현재 빌드 중인 모듈이 EULA를 위반하는 경우 빌드를 중단하도록 UBT에 지시합니다.
$ bUseFastPDBLinking : /DEBUG로 빌드하여 Windows에서 로컬 PDB를 생성할 경우 :FASTLINK 옵션을 사용할지 여부입니다. 빠르지만 현재는 디버거에서 심볼을 찾는 데 문제가 있는 것으로 보입니다.
$ bCreateMapFile : 맵 파일을 빌드의 일부로 출력합니다.
$ bAllowRuntimeSymbolFiles : 일부 플랫폼에서 빌드 후 단계로 런타임 심볼 파일을 생성해야 하는 경우 true로 설정합니다. 이러한 파일은 엔진에서 로그의 콜스택 백트레이스 심볼 이름을 확인하는 데 사용됩니다.
$ PackagePath : 링크 타임에 사용되는 입력 파일이 저장되는 패키지 전체 경로(디렉터리 + 파일 이름)입니다. 보통 지원 플랫폼에 대하여 링커 크래시를 디버그하는 데 사용됩니다.
$ CrashDiagnosticDirectory : 지원 플랫폼에 대하여 크래시 리포트 파일을 저장하는 디렉터리입니다.
$ bCheckSystemHeadersForModification : 오래된 액션을 확인할 때 시스템 경로의 헤더가 수정되었는지 확인할지 여부입니다.
$ bFlushBuildDirOnRemoteMac : 빌드하기 전 원격 Mac에서 Builds 디렉터리를 정리할지 여부입니다.
$ bPrintToolChainTimingInfo : 컴파일러와 링커에서 세부적인 타이밍 정보를 기록할지 여부입니다.
$ bParseTimingInfoForTracing : 타이밍 데이터를 chrome://tracing과 호환되는 트레이싱 파일로 파싱할지 여부입니다.
$ bPublicSymbolsByDefault : POSIX 플랫폼에서 모든 심볼을 기본적으로 공개로 노출할지 여부입니다.
$ MSVCCompileActionWeight : MSVC 컴파일 액션의 가중치(CPU/메모리 사용률)입니다.
$ ClangCompileActionWeight : clang 컴파일 액션의 가중치(CPU/메모리 사용률)입니다.
$ CppStandardEngine : 이 타깃을 컴파일하는 데 사용할 C++ 표준입니다(엔진 모듈용).
$ CppStandard : 이 타깃을 컴파일하는 데 사용할 C++ 표준입니다(비엔진 모듈용).
$ CStandard : 이 타깃을 컴파일하는 데 사용할 C 표준입니다.
$ MinCpuArchX64 : 지원 x64 플랫폼에서 SSE 또는 AVX 인트린직(intrinsic)을 사용하는 경우 컴파일러가 AVX 인스트럭션을 생성하도록 지시합니다. arm64에서는 무시됩니다. 이 프로퍼티를 활성화하면 타깃 플랫폼의 최소 사양이 변경되며 그에 따른 실행파일은 AVX 지원 없는 머신에서 충돌합니다.
$ ActionStallReportTime : 완료된 액션이 없는 상태가 지속될 경우, 액션 스톨 보고서가 트리거되기까지의 시간(초)입니다. 0이면 스톨 보고서가 활성화되지 않습니다.
$ ActionStallTerminateTime : 완료된 액션 없는 상태가 지속될 경우, 큐 종료가 트리거되기까지의 시간(초)입니다. 0이면 강제 종료가 활성화되지 않습니다.
$ bStopSNDBSCompilationAfterErrors : 활성화하면 컴파일 오류가 발생했을 때 SN-DBS가 타깃의 컴파일을 중지합니다. 다른 작업을 위해 컴퓨팅 리소스를 절약할 수 있으므로 이 옵션을 사용하는 것이 좋습니다.
$ bXGENoWatchdogThread : VS2015 툴 체인의 스톨을 방지할 목적으로 no_watchdog_thread 옵션을 사용할지 여부입니다.
$ bShowXGEMonitor : XGE 빌드 모니터를 표시할지 여부입니다.
$ bStopXGECompilationAfterErrors : 활성화하면 컴파일 오류가 발생했을 때 XGE가 타깃의 컴파일을 중지합니다. 다른 작업을 위해 컴퓨팅 리소스를 절약할 수 있으므로 이 옵션을 사용하는 것이 좋습니다.
$ BaseLogFileName : 로깅에 사용할 파일을 지정합니다.
$ IWYUBaseLogFileName : 로깅에 사용할 파일을 지정합니다.
$ bStripSymbols : iOS 심볼을 제거할지 여부입니다(출시용 환경설정에서는 자동 제거).
$ bUseDSYMFiles : .dsym 파일 생성을 활성화합니다. 개발 도중 반복작업 시간을 단축하기 위해 비활성화할 수 있습니다.
$ bSkipClangValidation : 스태틱 라이브러리에서 clang 빌드 검증 체크를 비활성화합니다
$ bEnableAddressSanitizer : ASan(Address Sanitizer)을 활성화합니다. Visual Studio 2019 16.7.0 이상에서만 지원됩니다.
$ bEnableLibFuzzer : LibFuzzer를 활성화합니다. Visual Studio 2022 17.0.0 이상 버전에서만 지원됩니다.
$ bEnableThreadSanitizer : TSan(Thread Sanitizer)을 활성화합니다.
$ bEnableUndefinedBehaviorSanitizer : UBSan(Undefined Behavior Sanitizer)을 활성화합니다.
$ bEnableMemorySanitizer : MSan(Memory Sanitizer)을 활성화합니다.
$ bTuneDebugInfoForLLDB : LLDB에 대한 디버그 정보 미세조정을 켭니다.
$ bDisableDumpSyms : dump_syms 호출을 전역적으로 비활성화할지 여부입니다
$ bWriteSolutionOptionFile : sln용 솔루션 옵션(suo) 파일을 작성할지 여부입니다.
$ bVsConfigFile : 설치할 컴포넌트를 제안하기 위해 sln 파일 옆에 .vsconfig 파일을 작성할지 여부입니다.
$ bAddFastPDBToProjects : 빌드 명령줄에 -FastPDB 옵션을 기본적으로 추가할지 여부입니다.
$ bUsePerFileIntellisense : 파일별 인텔리센스 데이터를 생성할지 여부입니다.
$ bEditorDependsOnShaderCompileWorker : 에디터용 프로젝트 파일을 생성할 때 ShaderCompileWorker 종속성을 포함할지 여부입니다.
$ TempDirectory : TMP\TEMP를 이 디렉터리에 오버라이드하도록 설정한 경우 각 프로세스가 이 폴더에 고유한 서브 디렉터리를 생성합니다.
$ bDeleteTempDirectory : 설정하면 단일 인스턴스 뮤텍스로 실행하는 경우에만 종료 시 애플리케이션 임시 디렉터리가 삭제됩니다.
UE 빌드 환경설정
$ bForceHeaderGeneration : true인 경우 헤더를 강제로 재생성합니다. 빌드 머신에 사용됩니다.
$ bDoNotBuildUHT : true인 경우 UHT가 이미 빌드됐다는 가정하에 UHT를 빌드하지 않습니다.
$ bFailIfGeneratedCodeChanges : true인 경우 생성된 헤더 파일이 구버전일 때 오류가 발생합니다.
$ bAllowHotReloadFromIDE : IDE에서 핫 리로드가 허용되면 true로 설정합니다.
$ bForceDebugUnrealHeaderTool : true인 경우 UnrealHeaderTool의 개발 버전 대신 디버그 버전이 빌드되고 실행됩니다.
$ bUseBuiltInUnrealHeaderTool : true인 경우 UBT 내부에 C# UHT를 사용합니다.
$ bWarnOnCppUnrealHeaderTool : true인 경우 C++ UHT가 사용될 때 경고를 생성합니다.
Windows 플랫폼
$ MaxRootPathLength : 권장하는 루트 경로의 최대 길이입니다.
$ MaxNestedPathLength : 루트 디렉터리를 기준으로 한 최대 경로 길이입니다. Windows에서 시스템 간의 경로를 이식하는 데 사용됩니다.
$ bIgnoreStalePGOData : -PGOOptimize가 지정되었지만 마지막 -PGOProfile 이후 링커 플래그가 변경된 경우, LNK1268과의 링크 중에 실패하는 대신 경고가 발생하고 PGO 없이 빌드합니다.
$ bUseFastGenProfile : -PGOProfile과 함께 지정하면, /GENPROFILE 대신 /FASTGENPROFILE이 사용됩니다. 이런 경우 일반적으로 PGO 데이터가 더 빠르게 생성되지만, -PGOOptimize 중에 결과 데이터가 효율적으로 최적화되지 않을 수 있습니다.
$ PreMergedPgdFilename : -PGOOptimize와 함께 지정하면, 일반적인 pgd 파일과 개별 pgc 파일 대신 지정된 사전 병합된 pgd 파일이 사용됩니다.
$ bPGONoExtraCounters : -PGOProfile과 함께 지정하면, 추가 카운터 사용을 방지합니다. 기본적으로 /FASTGENPROFILE은 추가 카운터를 사용하지 않습니다.
$ bSampleBasedPGO : -PGOProfile과 함께 지정하면, 계측 기반 PGO 대신 샘플 기반 PGO를 사용합니다. 현재 Intel oneAPI 2024.0 이상에서만 지원됩니다.
$ Compiler : Windows 플랫폼에서 사용할 컴파일러 툴 체인의 버전입니다. UBT 시작 시점에 ‘디폴트’ 값이 지정된 버전으로 변경됩니다.
$ CompilerVersion : 사용할 구체적인 컴파일러 버전입니다. 구체적인 버전 번호(예: ‘14.13.26128’) 외에도, 최신 가용 버전을 선택하는 데 ’Latest’ 스트링을 사용하거나 최신 가용 프리뷰 버전을 선택하는 데 ‘Preview’ 스트링을 사용할 수 있습니다. WindowsPlatform.DefaultToolChainVersion으로 표시된 툴 체인 버전이 제공되는 경우 기본적으로 이 버전을 사용합니다(그러지 않으면 최신 버전 사용).
$ ToolchainVersion : 컴파일러가 msvc가 아닌 경우 사용할 구체적인 msvc 툴 체인 버전입니다. 구체적인 버전 번호(예: ‘14.13.26128’) 외에도, 최신 가용 버전을 선택하는 데 ’Latest’ 스트링을 사용하거나 최신 가용 프리뷰 버전을 선택하는 데 ‘Preview’ 스트링을 사용할 수 있습니다. WindowsPlatform.DefaultToolChainVersion으로 표시된 툴 체인 버전이 제공되는 경우 기본적으로 이 버전을 사용합니다(그러지 않으면 최신 버전 사용).
$ bVCFastFail : /fastfail을 msvc 컴파일러 및 링커에 전달해야 하는 경우 true로 설정합니다.
$ bVCExtendedWarningInfo : 컴파일러에 /d2ExtendedWarningInfo를 전달하고 링커에 /d2:-ExtendedWarningInfo를 전달해야 하는 경우 true로 설정합니다.
$ bClangStandaloneDebug : 디버그 정보 크기를 줄이기 위한 최적화를 비활성화해야 하는 경우 true로 설정합니다. 자세한 내용은 https://clang.llvm.org/docs/UsersManual.html#cmdoption-fstandalone-debug를 참조하세요.
$ bAllowClangLinker : Clang 또는 Intel oneAPI로 컴파일할 때 Clang 링커(LLD)를 사용해야 한다면 true로 설정하고, 그렇지 않으면 MSVC 링커를 사용합니다.
$ WindowsSdkVersion : 사용할 구체적인 Windows SDK 버전입니다. 구체적인 버전 번호(예: ‘8.1’, ‘10.0’ 또는 ‘10.0.10150.0’)를 사용하거나 최신 가용 버전을 선택하는 데 ’Latest’ 스트링을 사용할 수 있습니다. WindowsPlatform.DefaultWindowsSdkVersion으로 표시된 Windows SDK 버전이 제공되는 경우 기본적으로 이 버전을 사용합니다(그러지 않으면 최신 버전 사용).
$ bWriteSarif : 지원되는 경우 오류 및 경고가 포함된 .sarif 파일을 각 .obj와 함께 작성할지 여부입니다.
$ bUpdatedCPPMacro : 업데이트된 __cplusplus macro (/Zc:__cplusplus)를 활성화합니다.
$ bStrictInlineConformance : 인라인 준수를 활성화합니다(레퍼런스되지 않은 COMDAT 제거)(/Zc:Inline).
$ bStrictPreprocessorConformance : 새로운 프리프로세서 준수(/Zc:preprocessor)를 활성화합니다. C++20 모듈에서는 항상 활성화됩니다.
$ bStrictEnumTypesConformance : VS2022 17.4 Preview 4.0+에서 열거형 타입 준수(/Zc:enumTypes)를 활성화합니다.
$ bStrictODRViolationConformance : VS2022 17.5 Preview 2.0+에서 표준 C++ ODR 위반 검사(/Zc:checkGwOdr)를 활성화합니다.
$ bStripPrivateSymbols : 링커에 빌드 과정에서 프라이빗 심볼이 제거된 pdb 파일 생성을 요청할지 여부입니다. 활성화하면 전체 디버그 pdb의 확장자가 .full.pdb가 됩니다.
$ bNoLinkerDebugInfo : -NoDebugInfo를 제공해도 Windows 플랫폼에서는 여전히 링크 시 디버그 정보를 생성합니다. 이 상황에서 링크하는 동안 디버그 정보를 생성하지 않으려면 이 값을 true로 설정합니다.
$ PCHMemoryAllocationFactor : 컴파일러가 PCH(/Zm)를 구성하는 데 할당하는 메모리 양을 결정합니다.
$ AdditionalLinkerOptions : 여기서 달리 언급되지 않은 추가적인 링크 옵션을 타깃이 지정할 수 있게 합니다.
$ bReducedOptimizeHugeFunctions : 컴파일 시간 개선을 위해 인스트럭션 한계치를 초과하는 거대 함수에 대한 최적화를 줄일지 여부입니다. https://devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2019-versions-16-3-and-16-4/
$ ReducedOptimizeHugeFunctionsThreshold : 거대 함수에 대한 최적화를 줄일 때 사용할 인스트럭션 한계치로, 디폴트 값은 20000입니다.
$ bClangTimeTrace : (실험단계 옵션) Clang이 컴파일 타임라인을 포함하여 JSON 파일을 출력하도록 -ftime-trace 실행인자를 명령줄에 추가합니다. 자세한 내용은 http://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/을 참조하세요.
$ bCompilerTrace : 컴파일 타이밍 정보를 분석할 수 있도록 출력합니다.
$ bSetResourceVersions : 활성화하면 Windows 실행파일 및 dll에 포함된 ProductVersion이 모든 사전 컴파일된 환경설정 및 출시용 환경설정에 대해 기본적으로 BUILT_FROM_CHANGELIST 및 BuildVersion Enabled를 포함하도록 설정됩니다. 이 세팅과 관계없이 Build.version의 버전은 BuildSettings 모듈을 통해 사용할 수 있습니다. 참고: 이러한 버전을 포함하면 체인지리스트가 업데이트될 때마다 리소스 파일이 다시 컴파일되어 바이너리가 다시 링크될 수 있습니다.
$ InlineFunctionExpansionLevel : TargetRules.bUseInlining이 활성화된 경우 인라인 함수 확장에 사용할 레벨입니다.
$ ToolChain : msvc가 아닌 컴파일러를 사용 중일 때 포함 경로 등을 찾기 위해 Windows 플랫폼에서 사용할 툴 체인 버전입니다.
$ ToolchainVersionWarningLevel : 선호하는 버전 목록에 없는 툴체인을 보고할 때의 경고 레벨입니다.
$ bStrictConformanceMode : 엄격한 표준 준수 모드(/permissive-)를 활성화합니다.
$ bDisableVolatileMetadata : 휘발성 메타데이터가 기본적으로 활성화되며 arm64에서 x64 에뮬레이션이 개선되지만 약간의 퍼포먼스 비용이 발생할 수 있습니다(/volatileMetadata-).
TargetRules
$ bCompileChaosVisualDebuggerSupport : 피직스 시뮬레이션 상태를 기록하기 위해 CVD(Chaos Visual Debugger) 지원 기능을 컴파일할지 여부입니다.
모듈 환경설정
$ DisableMergingModuleAndGeneratedFilesInUnityFiles : 동일한 통합 파일에서 모듈 및 생성된 cpp 파일 병합을 비활성화할 모듈의 목록입니다.
$ DisableUnityBuild : 통합 빌드를 비활성화할 모듈의 목록입니다.
$ EnableOptimizeCode : 최적화를 활성화할 모듈의 목록입니다.
$ DisableOptimizeCode : 최적화를 비활성화할 모듈의 목록입니다.
$ OptimizeForSize : 크기에 맞게 최적화할 모듈의 목록입니다. 이를 통해 타깃이 모듈 최적화 레벨을 오버라이드할 수 있습니다. 프라이빗 PCH가 제공되지 않으면 PCH 사용이 비활성화될 수 있습니다.
$ OptimizeForSizeAndSpeed : 크기 및 속도에 맞게 최적화할 모듈의 목록입니다. 이를 통해 타깃이 모듈 최적화 레벨을 오버라이드할 수 있습니다. 프라이빗 PCH가 제공되지 않으면 PCH 사용이 비활성화될 수 있습니다.
Unreal Build Accelerator
$ bStoreObjFilesCompressed : 디스크에 오브젝트(.obj)를 압축하여 저장합니다. 링크 단계에서는 UBA가 압축을 해제해야 합니다.
$ bDisableRemote : true로 설정하면 UBA가 원격 지원을 사용하지 않습니다.
$ bForceBuildAllRemote : true로 설정하면 UBA가 원격으로 빌드할 수 있는 모든 액션을 강제로 원격으로 빌드합니다. 사용할 수 있는 원격 에이전트가 없으면 중단됩니다.
$ bForcedRetry : true로 설정하면 UBA를 사용하여 로컬에서 실패한 액션을 UBA 없이 다시 시도합니다.
$ bForcedRetryRemote : true로 설정하면 UBA를 사용하여 원격에서 실패한 액션을 UBA를 사용하여 로컬에서 다시 시도합니다.
$ bStrict : true로 설정하면 UBA의 모든 오류 및 경고가 적절한 심각도 레벨로 로그에 출력됩니다(설정하지 않으면 '정보' 레벨로 출력되고 빌드를 계속 진행함).
$ bStoreRaw : UBA가 CAS를 압축하여 저장할지 원시 형식으로 저장할지 여부입니다.
$ bLinkRemote : UBA가 원격 작업자에 링크를 배포할지 여부입니다. 이 작업은 대역폭을 필요로 하지만 최적화 효과가 있을 수 있습니다.
$ StoreCapacityGb : UBA가 작업 세트 및 캐시된 데이터를 저장하는 데 사용할 수 있는 용량(GB)입니다. 10GB보다 크게 설정하는 것이 좋습니다.
$ MaxWorkers : 원격의 메시지를 처리할 수 있는 최대 작업자 스레드 수입니다.
$ SendSize : 서버에서 클라이언트로 전송되는 각 메시지의 최대 크기입니다.
$ Host : UBA 서버가 연결을 수신할 IP입니다.
$ Port : UBA 서버가 연결을 수신할 포트 번호입니다.
$ RootDir : UBA가 파일을 저장할 디렉터리입니다.
$ bUseQuic : TCP 대신 Quic 프로토콜을 사용합니다(실험단계).
$ bLogEnabled : UBA 프로세스에 대한 로깅을 활성화합니다.
$ bPrintSummary : 빌드 종료 시 UBA 통계 요약을 출력합니다.
$ bLaunchVisualizer : 빌드 진행률을 보여주는 시각화 애플리케이션을 실행합니다.
$ bResetCas : CAS 캐시를 리셋합니다.
$ TraceFile : 트레이스 출력 파일의 커스텀 경로를 제공합니다.
$ bDetailedTrace : UBA 트레이스에 상세 정보를 추가합니다.
$ bDisableWaitOnMem : 새 프로세스를 스폰하기 전에 가용 메모리를 대기하는 UBA 동작을 비활성화합니다.
$ bAllowKillOnMem : 메모리가 거의 부족해지면 UBA가 실행 중인 프로세스를 강제로 종료하도록 허용합니다.
$ OutputStatsThresholdMs : 실행기가 프로세스에 대한 로깅을 출력해야 하는 한계치(밀리초)입니다. 디폴트는 비활성화입니다.
$ bWriteToDisk : 중간 및 출력 파일을 디스크에 쓰는 작업을 건너뜁니다. 출력이 필요 없는 유효성 검사 빌드에 유용합니다.
$ bDisableCustomAlloc : true로 설정하면 mimalloc 및 메모리 할당 우회를 비활성화합니다.
$ Zone : UBA에 사용할 영역입니다.
$ bUseCrypto : true로 설정하면 네트워크를 통해 파일 전송 시 암호화가 활성화됩니다.
$ bUseKnownInputs : true로 설정하면 원격 실행되는 프로세스에 알려진 입력을 제공합니다. 핑이 높을 때 빌드 시간을 단축하기 위한 실험단계 기능입니다.
$ ActionsOutputFile : 빌드를 위해 큐에 등록된 모든 액션을 yaml 파일로 작성합니다. 'UbaCli.exe local file.yaml'을 사용하여 리플레이할 수 있습니다.
$ bDetailedLog : true로 설정하면 UBA 내부 동작 및 에이전트 출력 로그에 대한 자세한 정보를 확인할 수 있습니다.
$ Cache : UBA 캐시 서비스의 주소입니다. 연결되면 자동으로 캐시를 사용합니다.
$ WriteCache : 캐시에서 데이터를 가져오는 대신 쓰도록 설정합니다.
$ CacheMaxWorkers : 병렬로 실행할 수 있는 최대 캐시 다운로드 작업 수입니다.
$ ReportCacheMissReason : 캐시 미스가 발생한 이유를 보고합니다. 결정성/이식성 문제를 찾는 데 유용합니다.
$ bDisableHorde : 호드를 완전히 비활성화합니다.
TestTargetRules
$ bCompileChaosVisualDebuggerSupport : 피직스 시뮬레이션 상태를 기록하기 위해 CVD(Chaos Visual Debugger) 지원 기능을 컴파일할지 여부입니다.
빠른 빌드
$ 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 버전입니다.
$ CompilerVersion : 사용할 MSVC 컴파일러 버전입니다
병렬 실행기
$ MaxProcessorCount : 로컬 실행에 할당할 최대 프로세서 개수입니다.
$ ProcessorCountMultiplier : 로컬 실행에 할당할 프로세서 배수입니다. 다른 작업을 위해 CPU를 예약하려는 경우 1 미만으로 설정할 수 있습니다. 로컬 실행기(XGE 아님)를 사용할 때 각 CPU 코어에서 단일 액션을 실행합니다. 대부분의 경우 이 값을 더 크게 설정하면 빌드 시간은 약간 빨라지지만, 컴파일이 진행되는 동안 컴퓨터의 응답 속도는 훨씬 느려질 수 있습니다. CPU가 하이퍼 스레딩을 지원하지 않으면 이 값은 무시됩니다.
$ MemoryPerActionBytes : 바이트 단위의 액션당 여유 메모리입니다. 컴퓨터에 메모리가 부족한 경우 병렬 액션의 수를 제한하는 데 사용됩니다. 여유 메모리 확인을 비활성화하려면 0으로 설정합니다.
$ ProcessPriority : 스폰된 프로세스에 대해 설정할 우선순위입니다. 유효한 설정: Idle, BelowNormal, Normal, AboveNormal, High 디폴트: BelowNormal(BelowNormal이 예약 문제를 일으킬 수 있으므로 비대칭 프로세서의 경우 Normal)입니다.
$ bStopCompilationAfterErrors : 활성화하면 컴파일 오류가 발생한 후 타깃의 컴파일을 중지합니다.
$ bShowCompilationTimes : 컴파일 시간과 최대 지연 원인을 표시할지 여부입니다.
$ bShowPerActionCompilationTimes : 실행된 각 액션의 컴파일 시간을 표시할지 여부입니다.
$ bLogActionCommandLines : 실행되는 액션의 명령줄을 로깅할지 여부입니다.
$ bPrintActionTargetNames : 실행된 각 액션의 타깃 이름을 추가합니다.
$ bUseActionWeights : 추가 작업을 수행할지 여부를 결정할 때 액션의 가중치를 고려할지 여부입니다.
$ bShowCPUUtilization : 작업이 완료된 후 CPU 사용률을 표시할지 여부입니다.
SNDBS
$ bAllowOverVpn : false로 설정하면 VPN을 통해 코디네이터에 연결되어 실행될 때 SNDBS가 활성화되지 않습니다. VpnSubnets 파라미터로 VPN 할당 서브넷을 구성하세요.
$ VpnSubnets : VPN에서 할당한 IP 주소가 포함된 서브넷 목록입니다.
### 호드
$ Server : 호드 서버의 URI입니다.
$ Token : 호드 서버의 인증 토큰입니다.
$ OidcProvider : 로그인에 사용할 OIDC ID입니다.
$ Pool : 현재 플랫폼에 오버라이드가 설정되어 있지 않은 경우 호드 에이전트가 할당할 풀입니다.
$ LinuxPool : Linux에서 호드 에이전트가 할당할 풀입니다.
$ MacPool : Mac에서 호드 에이전트가 할당할 풀입니다.
$ WindowsPool : Windows에서 호드 에이전트가 할당할 풀입니다.
$ Requirements : 호드 에이전트가 할당하기 위한 요구 사항입니다.
$ Cluster : 호드에서 사용할 컴퓨트 클러스터 ID입니다. '_auto'로 설정하면, 호드 서버가 적절한 클러스터를 자동으로 선택합니다. 다중 영역 구성에서는 이렇게 하면 UBT/UBA 환경설정을 상당히 간소화할 수 있습니다.
$ LocalHost : UBA 서버가 에이전트에 제공해야 할 IP입니다. 이를 통해 호스트가 수신하고 에이전트가 연결하도록 반전됩니다.
$ MaxCores : 빌드 세션에서 사용할 수 있는 최대 코어 수입니다.
$ StartupDelay : UBT가 도움을 요청하기 위해 대기해야 하는 시간입니다. 머신이 원격 작업을 딜레이하면서도 동일한 월 타임 결과를 얻을 수 있는 빌드 환경설정에 유용합니다(pch 종속성 등).
$ AllowWine : Wine 사용을 허용합니다. Linux를 실행하는 호드 에이전트에만 적용됩니다. 에이전트에 Wine 실행파일이 설정되어 있지 않으면 무시될 수 있습니다.
$ ConnectionMode : 에이전트/컴퓨트 통신에 유효한 연결 모드입니다.
$ Encryption : 에이전트/컴퓨트 통신에 사용할 암호화입니다. UBA 에이전트는 유효한 모드에 대해 자체 암호화를 사용한다는 점에 유의하세요.
$ UBASentryUrl : 박스 데이터를 전송할 Sentry URL입니다. 선택 사항입니다.
XGE
$ bAllowOverVpn : false로 설정하면 VPN을 통해 코디네이터에 연결되어 실행될 때 XGE가 활성화되지 않습니다. VpnSubnets 파라미터로 VPN 할당 서브넷을 구성하세요.
$ VpnSubnets : VPN에서 할당한 IP 주소가 포함된 서브넷 목록입니다.
$ bAllowRemoteLinking : 원격 링크를 허용할지 여부입니다.
$ bUseVCCompilerMode : VCCompiler=true 세팅을 활성화할지 여부입니다. VC 툴의 추가 라이선스가 필요합니다.
$ MinActions : XGE 실행을 사용하기 위한 최소 액션 수입니다.
$ bUnavailableIfInUse : 동시 XGE 빌드를 확인하고 XGE 실행기가 사용 중인 경우 사용할 수 없는 것으로 처리합니다. 이렇게 하면 UBT는 병렬 실행기 등의 다른 실행기로 대체됩니다.
빌드 모드
$ bIgnoreJunk : 정크 매니페스트로 식별된 파일의 검사를 건너뛸지 여부입니다.
프로젝트 파일 제너레이터
$ 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로 설정합니다. 이 경우 기본 프로젝트에 시각적 혼란이 가중될 수 있지만, 디스크에 저장되는 파일을 더 효율적으로 구성할 수 있습니다.
$ Platforms : 생성된 프로젝트 파일에 포함할 플랫폼의 이름입니다.
$ Configurations : 생성된 프로젝트 파일에 포함할 환경설정의 이름입니다. 유효한 엔트리는 UnrealTargetConfiguration을 참조하세요.
$ bGatherThirdPartySource : true인 경우 서드파티 프로젝트의 서브 디렉터리를 파싱하여 생성된 프로젝트에 포함할 소스 및 헤더 파일을 찾습니다. 이로 인해 생성된 프로젝트가 상당히 커질 수 있지만 IDE에서 직접 파일을 여는 것이 더 쉬워집니다.
$ PrimaryProjectName : Visual Studio 솔루션 파일의 베이스 파일명과 같은 기본 프로젝트 파일의 이름이나 Mac에 사용되는 Xcode 프로젝트 파일의 이름입니다.
$ bPrimaryProjectNameFromFolder : true인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
$ bIncludeTestAndShippingConfigs : 생성된 프로젝트에 '테스트' 및 '출시'용 환경설정을 포함할지 여부입니다. 이 옵션을 비활성화하려면 '-NoShippingConfigs'를 전달해야 합니다.
$ bIncludeDebugConfigs : 생성된 프로젝트에 '디버그' 및 '디버그게임'용 환경설정을 포함할지 여부입니다. 이 옵션을 비활성화하려면 '-NoDebugConfigs'를 전달해야 합니다.
$ bIncludeDevelopmentConfigs : 생성된 프로젝트에 '개발'용 환경설정을 포함할지 여부입니다. 이 옵션을 비활성화하려면 '-NoDevelopmentConfigs'를 전달해야 합니다.
$ bVisualStudioLinux : Visual Studio 프로젝트를 Linux 모드로 생성해야 하는 경우 true로 설정합니다.
IOS 툴 체인
$ bUseDangerouslyFastMode : 이 옵션을 설정하면 Mac에서 실행파일을 적절한 위치로 옮기는 것을 제외하고 컴파일 이후 단계를 진행하지 않습니다.
Windows 타깃 규칙
$ 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로 설정합니다.
$ bIncludeEnginePrograms : 생성된 솔루션에 프로그램 프로젝트를 포함해야 하는 경우 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로 설정합니다.
$ bIncludeEnginePrograms : 생성된 솔루션에 프로그램 프로젝트를 포함해야 하는 경우 true로 설정합니다.
$ IncludeCppSource : C++ 타깃을 포함할지 여부입니다.
$ bIncludeDotNetPrograms : 생성된 솔루션에 csharp 프로그램 프로젝트를 포함해야 하는 경우 true로 설정합니다. 활성화하려면 '-DotNet'을 전달합니다.
$ bIncludeTempTargets : 디폴트가 아닌 세팅의 콘텐츠 전용 프로젝트를 지원하기 위해 UAT가 생성한 임시 타깃을 포함할지 여부입니다.
$ PrimaryProjectName : Visual Studio 솔루션 파일의 베이스 파일명과 같은 기본 프로젝트 파일의 이름이나 Mac에 사용되는 Xcode 프로젝트 파일의 이름입니다.
$ bPrimaryProjectNameFromFolder : true인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
VSCodeProjectFileGenerator
$ IncludeAllFiles : 생성된 워크스페이스에 모든 파일을 포함합니다.
$ AddDebugAttachConfig : VS 코드 프로젝트 생성 시 이미 실행 중인 프로세스에 어태치를 허용하는 디버그 환경설정을 포함할지 여부입니다.
$ AddDebugCoreConfig : VS 코드 프로젝트 생성 시 코어 덤프 디버깅을 허용하는 디버그 환경설정을 포함할지 여부입니다.
$ NoCompileCommands : 각 파일에 대한 컴파일러 실행인자를 포함하는 compile_commands.json 파일을 생성하지 않습니다. VS Code 확장을 사용하여 UBT 서버 모드로 작업할 때 더 잘 작동합니다.
$ UseVSCodeExtension : UBT와 직접 통신하는 VS 코드 확장에서 사용할 워크스페이스 파일을 생성합니다.
$ 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인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
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인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
VSWorkspaceProjectFileGenerator
$ 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 종속성을 포함할지 여부입니다.
$ bMakeProjectPerTarget : 타깃별로 프로젝트 파일을 생성할지 여부입니다. 즉, 하나의 환경설정에 에디터/클라이언트/서버 등의 타깃을 포함하지 않습니다.
$ 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인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
Xcode 프로젝트 파일 제너레이터
$ 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인 경우 기본 프로젝트의 이름을 프로젝트가 저장된 폴더의 이름에 따라 설정합니다.
소스 파일 작업 세트
$ Provider : 작업 세트를 결정하는 데 사용할 제공자를 설정합니다.
$ RepositoryPath : 저장소에 사용할 경로를 설정합니다. 상대적인 경우 해석은 언리얼 엔진 루트 디렉터리(엔진 폴더의 상위 폴더)를 기준으로 합니다.
$ GitPath : Git 실행파일에 사용할 경로를 설정합니다. 디폴트는 ‘git’(PATH에 있다고 가정)입니다.
원격 Mac
$ ServerName : 이 두 변수는 XmlConfigLoader.Init()의 XML 환경설정 파일에서 로드됩니다.
$ UserName : 원격 사용자 이름입니다.
$ SshPrivateKey : 이 옵션을 설정하면 일반적인 위치(Documents/Unreal, Engine/UnrealBuildTool/SSHKeys 또는 Engine/Build/SSHKeys)에서 찾은 RemoteToolChainPrivate.key 대신 이 프라이빗 키를 사용합니다.
$ RsyncAuthentication : (-e rsync 플래그의 경우) Rsync에 사용되는 인증입니다.
$ SshAuthentication : SSH에 사용되는 인증(RsyncAuthentication과 유사할 수 있음)입니다.
Log
$ bBackupLogFiles : 기존 로그 파일을 덮어쓰지 않고 백업할지 여부입니다.
$ LogFileBackupCount : 보존할 로그 파일 백업 개수입니다. 이전 백업은 삭제됩니다.
원격 측정
$ Providers : ini에서 선택적 원격 측정 연결 정보를 로드할 제공자입니다. 설정하지 않거나 제공자 카테고리에 연결 정보가 포함되어 있지 않으면, 원격 측정이 전송되지 않습니다.