V2 uses Unreal's shared Derived Data Cache path override so shader jobs and asset-derived data are written once and reused by developers and CI runners on the same network.
Required environment on Windows reference runners:
UE_SHARED_DDCpoints at the writable network cache root, for example a UNC share mounted by the runner service account.- The CI workflow derives
UE-SharedDataCachePathandUE_SharedDataCachePathas<UE_SHARED_DDC>\V2\DDCbefore launching Unreal. - BuildGraph passes the same path as
ReferenceDDCfor cooks.
Required environment on developer machines:
- Windows: set
UE-SharedDataCachePathto the writable V2 DDC share. - macOS / Linux: set
UE_SharedDataCachePathto the writable V2 DDC share. - Teams using the cook wrappers or Horde config should also set
UE_SHARED_DDCto the shared cache root so build tooling can deriveV2\DDCandV2\UBA.
The project config keeps Local first and Shared after it in both
DerivedDataBackendGraph and InstalledDerivedDataBackendGraph. This lets hot
data stay local while misses are filled from, and asynchronously written back
to, the network DDC. ShaderCompileWorker is compiled before editor targets in
BuildGraph, and r.ShaderCompiler.JobCacheDDC=1 keeps shader job results in the
same DDC hierarchy.
The CI validator is:
python3 V2/ue/Tools/check-v2-shader-ddc.py
Reference: Epic's shared DDC guidance describes a writable Shared DDC network
folder and the EnvPathOverride=UE-SharedDataCachePath project setting:
https://dev.epicgames.com/documentation/en-us/unreal-engine/derived-data-cache?application_version=5.3