Skip to content
Latchkey

Unreal "Could not find ... Engine/Build" in CI

Unreal build scripts resolve the engine from a known root. When that path is wrong or the engine is not present on the runner, RunUAT or GenerateProjectFiles cannot find Engine/Build and stops immediately.

What this error means

A build script fails with "Could not find ... Engine/Build/BatchFiles" or "Unable to find Unreal Engine installation", before any compilation.

unreal
ERROR: Could not find a valid Unreal Engine installation.
Could not find "/home/runner/UE5/Engine/Build/BatchFiles/RunUAT.sh".

Common causes

The engine is not installed on the runner

Unless the engine is checked out or restored, a runner has no Unreal installation, so the build scripts have nothing to point at.

A wrong or unset engine root

A misconfigured UE_ROOT/engine path, or a project built against an engine version not present, leads to the missing Engine/Build path.

How to fix it

Point the build at a real engine install

  1. Install or restore the Unreal Engine for the project version on the runner.
  2. Set the engine root environment variable to that install.
  3. Invoke RunUAT from inside the engine Engine/Build/BatchFiles directory.
Terminal
export UE_ROOT=/opt/UnrealEngine
"$UE_ROOT/Engine/Build/BatchFiles/RunUAT.sh" BuildCookRun \
  -project="$PWD/MyGame.uproject" -platform=Linux -build

Use a container with the engine baked in

A prebuilt Unreal CI image avoids installing the engine per run and fixes the engine paths.

How to prevent it

  • Install or restore the matching engine version before building.
  • Set the engine root explicitly in the job environment.
  • Use an engine image to keep paths consistent.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →