// Should we use unity build mode for this module?
bool bModuleUsesUnityBuild = false;
if (Target.bUseUnityBuild || Target.bForceUnityBuild)
{
if (Target.bForceUnityBuild)
{
Log.TraceVerbose("Module '{0}' using unity build mode (bForceUnityBuild enabled for this module)", this.Name);
bModuleUsesUnityBuild = true;
}
else if (Rules.bFasterWithoutUnity)
{
Log.TraceVerbose("Module '{0}' not using unity build mode (bFasterWithoutUnity enabled for this module)", this.Name);
bModuleUsesUnityBuild = false;
}
else if (SourceFilesToBuild.CPPFiles.Count < MinSourceFilesForUnityBuild)
{
Log.TraceVerbose("Module '{0}' not using unity build mode (module with fewer than {1} source files)", this.Name, MinSourceFilesForUnityBuild);
bModuleUsesUnityBuild = false;
}
else
{
Log.TraceVerbose("Module '{0}' using unity build mode", this.Name);
bModuleUsesUnityBuild = true;
}
}
else
{
Log.TraceVerbose("Module '{0}' not using unity build mode", this.Name);
}
특정 모듈이 UnityBuild 가 안걸려서 확인해봤다.
일단 bUseUnityBuild는 기본적으로 켜져(true) 있다.
소스 파일 개수가 32개 넘을 때 UnityBuild가 동작하는데 파일 개수가 50개 인 줄 알았는데 cpp 기준으로는 25개 밖에 안되었다.
그냥 bForceUnityBuild 를 켜서 돌아가도록 했다.
위 로그는 Verbose 이상일 때 보이니 BuildConfiguration.xml 수정이 필요하다.
<?xml version="1.0" encoding="utf-8" ?><Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<!--<bAllowXGE>false</bAllowXGE>-->
<LogLevel>VeryVerbose</LogLevel>
</BuildConfiguration>
</Configuration>