Fighting Game · Guides & deep dives

V2 Network Derived Data Cache

A guides & deep dives document in the Fighting Game library.

0sections1 minread

On this page

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_DDC points at the writable network cache root, for example a UNC share mounted by the runner service account.
  • The CI workflow derives UE-SharedDataCachePath and UE_SharedDataCachePath as <UE_SHARED_DDC>\V2\DDC before launching Unreal.
  • BuildGraph passes the same path as ReferenceDDC for cooks.

Required environment on developer machines:

  • Windows: set UE-SharedDataCachePath to the writable V2 DDC share.
  • macOS / Linux: set UE_SharedDataCachePath to the writable V2 DDC share.
  • Teams using the cook wrappers or Horde config should also set UE_SHARED_DDC to the shared cache root so build tooling can derive V2\DDC and V2\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:

bash
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