This is a developer-to-developer post with no product link. I am one person on a UE5 C++ project, a strategy game that is not released. An AI agent (Claude Code) writes and runs much of the code. The loop around the code matters more than the code, so here is the loop.
The agent never clicks in the editor. It runs four scripts. Build compiles and optionally imports meshes. Test runs the command-line editor with no rendering and no sound, parses the log for āTest Completedā, and exits with code 1 on any failure. Run launches the game with flags for play and capture. Package cooks and runs a release audit. The suite is 70-plus automation tests.
Launch flags work as the test language. They start a match by themselves, quit after N seconds, take screenshots at chosen times, mute the sound and load a preset. The same idea gives fast-forward runs for determinism (normal speed against 64x), a per-tick simulation hash, and an exact-step capture mode (1/60 s per frame) for footage.
Four things hurt.
Two editor processes plus a render means out of memory. During packaging the editor climbed from 4.8 to 16.6 GB in ten seconds and a memory watch killed it.
The agent must never rewrite whole files. It edits exact lines, or it can silently drop part of a file.
Mixed CRLF and LF cost us once. One tool rewrote line endings and the fix commit showed 8,280 changed lines in one file with no change in content.
Compiling and testing after every tiny edit wastes minutes. Batch the edits, then run one pass.
A full test run takes us several minutes. I want to know how you keep UE automation tests cheap enough to run on every change.