Skip to content

Unreal Engine

Unreal Engine CI on GitHub Actions

Shader compilation dominates and there is no derived data cache in CI.

48m → 12m
Shader compile
90m → 34m
Cook

Shader compilation dominates and there is no derived data cache in CI.

Why it happens

The DDC is empty on each run, so every shader permutation compiles from scratch.

What to change

  1. Point the shared DDC at a persisted directory and cache it
  2. Use a 32 vCPU runner — shader compilation is embarrassingly parallel
  3. Cook only the platforms you are shipping in that job

Unreal Engine on runnerhut

yaml
jobs:
build:
runs-on: runnerhut-32vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
with: { lfs: true }
- run: ./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project=Game.uproject -platform=Linux
A working starting point

The only runnerhut-specific line is `runs-on: runnerhut-32vcpu-ubuntu-2404`. Everything else is standard GitHub Actions — the same actions, the same secrets and the same permissions model you use today.

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.