Fighting Game · Guides & deep dives

V2 Shader Distribution

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

0sections1 minread

On this page

V2/ue/Tools/plan-v2-shader-distribution.py expands V2/ue/Build/Shaders/v2-shader-distribution.json into deterministic Horde shards for ShaderCompileWorker-backed DDC fill jobs. Each shard compiles one platform and one permutation bucket slice, writes through DerivedDataCache, and uses the shared cache root $(UE_SHARED_DDC)/V2/DDC.

The shard command uses -AllowShaderCompilingThroughWorkers, -SharedDataCachePath, and -V2ShaderShard so Horde agents can execute independent slices while still publishing compiled shader results to the same network DDC. The manifest keeps the shard size bounded at 512 estimated permutations and allows up to 48 remote workers.

The generated plan includes the Horde pool, shader formats, package roots, response file, shared DDC namespace, and command for every shard. The release evidence path is $(ArchiveRoot)/Shaders/shader-distribution-plan.json.

Required gates:

  • shader-distribution-plan-generated
  • shader-distribution-permutation-coverage
  • shader-distribution-farm-shards
  • shader-distribution-shared-ddc-enabled

The primary metric names are shader.distribution.farm_shard_count and shader.distribution.permutation_coverage_pct. The CI validator is:

bash
python3 V2/ue/Tools/check-v2-shader-distribution.py