Skip to content

Preflights

Thanks to incremental agents work done to build the game for a preflight will largely be re-used when generating PCBs to distribute to the team. It’s worth compiling the game, editor, and any servers as part of your preflight.

BuildAndTestProject.xml provides a good example of a simple target which launches both the editor and game, reporting the results to the Automation Hub. The <Agent> block that runs the tests in Epic’s boilerplate can be found here: https://github.com/EpicGames/UnrealEngine/blob/6978b63c8951e57d97048d8424a0bebd637dde1d/Engine/Build/Graph/Tasks/BuildAndTestProject.xml#L341

Tests themselves are written in C#. The code for the editor and game boot tests can be found here: https://github.com/EpicGames/UnrealEngine/blob/ue5-main/Engine/Source/Programs/AutomationTool/Gauntlet/Unreal/Automation/UE.BootTest.cs

Note, launching the game and editor requires a GPU instance.

Unreal has a system for validating content which can be run in CI as well as from UnrealEd: https://dev.epicgames.com/documentation/en-us/unreal-engine/data-validation-in-unreal-engine

The validators can be executed using the DataValidation commandlet in BuildGraph:

<Commandlet Name="DataValidation" Arguments="-project=$(TargetProject) -build=Editor -unattended -buildmachine"/>