언리얼을 쓰다보면 엔진이 바뀌거나 맵 데이터가 변경되었을 때 셰이더 컴파일 시간이 굉장히 오려걸린다. 다른 컴퓨터에서 생성된 DDC 를 사용하면 그 시간을 줄일 수 있다.
1. 공유할 컴퓨터의 DerivedDataCache 폴더를 공유한다.
2. DefaultEngine.ini 파일에서 다음 내용을 수정한다.
; 엔진의 BaseEngine.ini 에서 로컬 빌드된 엔진 사용시에는 DerivedDataBackendGraph , 설치 버젼의 엔진을 사용중이라면 InstalledDataBackednGraph 섹션의 내용을 복사한다.
3. Hierachy 부분에 Shared 영역이 있는지 확인한다. 없다면 추가한다.
4. 아래와 같이 없으면 Shared 추가하고 Path 를 위에 공유한 PC의 폴더로 수정한다.
[DerivedDataBackendGraph]
MinimumDaysToKeepFile=7
Root=(Type=KeyLength, Length=120, Inner=AsyncPut)
AsyncPut=(Type=AsyncPut, Inner=Hierarchy)
Hierarchy=(Type=Hierarchical, Inner=Boot, Inner=Pak, Inner=EnginePak, Inner=Local, Inner=Shared)
Boot=(Type=Boot, Filename=%GAMEDIR%DerivedDataCache/Boot.ddc, MaxCacheSize=256)
Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=17, FoldersToClean=-1, Path=../../../Engine/DerivedDataCache)
Shared=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=\\mystudio.net\DDC, EnvPathOverride=UE-SharedDataCachePath)
AltShared=(Type=FileSystem, ReadOnly=true, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=\\mystudio.net\DDC2, EnvPathOverride=UE-SharedDataCachePath2)
Pak=(Type=ReadPak, Filename=%GAMEDIR%DerivedDataCache/DDC.ddp)
EnginePak=(Type=ReadPak, Filename=../../../Engine/DerivedDataCache/DDC.ddp)
5. 에디터를 열어 열어본 적이 없는 맵을 열었을 때 셰이더 컴파일이 없는 것을 확인한다.