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.
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
- Install or restore the Unreal Engine for the project version on the runner.
- Set the engine root environment variable to that install.
- Invoke RunUAT from inside the engine
Engine/Build/BatchFilesdirectory.
export UE_ROOT=/opt/UnrealEngine
"$UE_ROOT/Engine/Build/BatchFiles/RunUAT.sh" BuildCookRun \
-project="$PWD/MyGame.uproject" -platform=Linux -buildUse 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.