Gauntlet QA Workbook¶
An exercise-driven workbook on Unreal Engine's Gauntlet Automation Framework, written for QA practitioners who will own, run, and author Gauntlet tests — not for engine engineers writing the framework itself.
Gauntlet is "a framework to run sessions of projects in Unreal Engine that perform tests and validate results." This workbook teaches you to read that sentence the way a test owner has to: what a session is, how a test gets launched, where results land, and how to add your own.
Read this before you trust a single command here
This workbook was authored against Epic's published Gauntlet documentation, not against a live engine. None of the C# or command-line examples were compiled or executed here. They are structurally faithful to the documented APIs, but exact signatures, argument spellings, and defaults drift between engine versions and between Epic's public engine and a licensee's fork.
Every command and code block is a starting point to verify on your own source build, not a copy-paste guarantee. Each lesson marks the spots that need on-build confirmation with a Verify on a real build note. Treat them like you'd treat a repro from a bug report you didn't write: plausible until reproduced.
Who this is for¶
You are comfortable with test design, defect triage, and game-dev workflows. You may be new to Gauntlet specifically, or to the C# / UAT side of Unreal automation. The workbook assumes:
- Working familiarity with QA terminology and test methodology (no re-teaching of equivalence classes, smoke vs. regression, flake, etc.).
- Reading-level C# and C++ — you can follow a class and a method override without writing one cold.
- Access (eventually) to a source build of Unreal Engine. Gauntlet's authoring side lives in C# projects that ship with engine source; you cannot write a Gauntlet test against a launcher install.
How to use it¶
Work the modules in order — each assumes the vocabulary of the last. Every lesson follows the same shape so you can predict where to find things:
- What you'll learn — the lesson's objectives.
- How it applies (QA) — why a test owner cares.
- Concepts — the actual material.
- Worked example — a concrete command, log, or code fragment.
- Exercises / lab — do the work; this is a workbook, not a slideshow.
- Self-check — a collapsible quiz. Open it only after you've answered.
- Done when — a checklist that gates "I understand this" on observable criteria.
Block legend¶
The colored callouts mean specific things:
What you'll learn
Objectives. Appears once at the top of each lesson.
How it applies (QA)
The test-owner angle — why the concept changes what you do on the job.
Example
A worked, concrete example: a command line, a log excerpt, a code fragment.
Exercise
A short task to do yourself: predict an output, fill a missing argument, classify a result.
Lab
A longer, multi-step build: construct a full command, design a role layout, draft a test.
Self-check
A quiz, collapsed. Click to expand the answer after you've committed to one. Wrong answers are explained, not just marked.
Pitfall
A trap that bites real test owners — the kind that turns into a half-day of "why is this red."
Done when
Observable criteria that gate completion. If you can't tick every box, you're not done.
Module map¶
| Module | You'll be able to |
|---|---|
| M1 — Mental model & landscape | Explain what Gauntlet does and doesn't do, and where it sits among Unreal's other automation systems. |
| M2 — The run path | Trace a test from RunUnreal on the command line to a pass/fail and its artifacts. |
| M3 — Sessions, roles, devices, builds | Describe how Gauntlet launches a multi-process game on real hardware from a cooked build. |
| M4 — Authoring a test in C# | Stand up an .Automation project and write a test node that boots the game and checks a result. |
| M5 — Driving the game side | Use the optional TestController to puppeteer the game and assert from the C++ side. |
| M6 — CI & ownership | Slot Gauntlet into a pipeline, triage flake, and own a real test end to end (capstone). |
Source basis¶
Every class name, command, and built-in test in this workbook traces to one of three Epic pages:
Start with M1.1 — What Gauntlet is (and isn't).