Automated Tests
Run Unreal Engine automation tests with every build and get an interactive report.
Unreal Cloud can run your project's automation tests after every successful build, using Unreal Engine's built-in automation framework. Test results are attached to the build as an interactive report.
Enabling tests
Tests are configured per preset. In the preset dialog, check Run tests. When enabled, tests run in the editor after the build completes; the build only reaches passed if the tests pass too.
Test filters
The test filter selects which automation tests run. It's a list of test path prefixes, separated by +. The default is:
Project.Functional Tests./Gamewhich runs the Blueprint functional tests found in your project's own Content folder.
| Filter | Runs |
|---|---|
Project.Functional Tests./Game | All Blueprint functional tests in your project |
MyGame | All tests whose path starts with MyGame (e.g. C++ tests registered under that category) |
Project.Functional Tests./Game+MyGame | Both of the above |
Prefixes match the test names shown in the editor's Session Frontend → Automation tab.
Writing tests that work in CI
- Blueprint functional tests — place
FunctionalTestactors in test maps under your project's Content folder. These are discovered automatically underProject.Functional Tests./Game. - C++ automation tests — tests registered with
IMPLEMENT_SIMPLE_AUTOMATION_TEST(or the spec framework) are matched by their full test path. - Keep them headless — tests run headless on a cloud machine; avoid tests that require a GPU display, user input, or online services you haven't mocked.
Shipping builds
Automation tests are compiled out of Shipping builds by Unreal Engine, so test runs require a non-Shipping configuration.
Reading the test report
Open a build and switch to its test report. The report lists every test with its state — success, success with warnings, fail, or skipped — plus duration and any errors or warnings each test emitted. Expand a test to see its individual log entries.
If tests fail, the build is marked failed even though the packaged artifact may have been produced.