PerfGuard - PerfGuard — Automated Performance Regression Testing

Detect performance regressions before they ship. PerfGuard automates frame time tracking, baseline comparison, and CI-integrated reporting for Unreal Engine projects. PerfGuard is an automated performance regression testing framework for Unreal Engine 5. It captures frame timing data from your project, compares it against known-good baselines, and reports any regressions that exceed your configured thresholds.

Key Features:

- Define performance test scenarios as data assets — specify maps, camera paths, replay files, and per-stat thresholds

- Three capture modes — Level Sequence camera paths (deterministic rendering benchmarks), Replay recordings (gameplay-driven scenarios with combat, AI, physics), or Duration Only (static captures)

- Automated capture via Gauntlet — integrates with UE's built-in testing framework for headless CI execution

- CSV profiler integration — captures FrameTime, GPUTime, DrawCalls, Memory, and custom stats

- Unreal Insights trace integration — GPU pass timings, RHI command breakdown, per-draw-call detail, and "Open in Insights" launcher

- Baseline management — record, compare, export, and import baselines per-scenario and per-platform

- Statistical analysis — IQR outlier trimming, percentile aggregation (P95/P99), confidence intervals, noise floor estimation

- Capture quality validation — detects GPU time gaps, sequence stalls, warmup instability, and warns when thresholds are below measurement precision

- Self-contained HTML reports — interactive charts with Chart.js (works offline), histograms, trend graphs, GPU pass breakdown, and dark mode

- PDF export — generate PDF reports from HTML via headless Chrome for easy stakeholder sharing

- Interactive dashboard — local web server with action buttons for running scenarios, updating baselines, and navigating timestamped reports

- Frame budget presets — gate builds on 30fps, 60fps, or VR 90fps frame-time targets

- Webhook notifications — Slack, Teams, and generic JSON alerts when regressions are detected

- CI/CD ready — exit codes, structured JSON output, and configs for GitHub Actions, Jenkins, GitLab CI, and BuildGraph/Horde

- Python CLI tooling — flexible command-line interface for all operations

- Quick Capture — right-click any map in Content Browser to instantly profile it, no scenario setup or Level Sequence required

- In-Editor Results Panel — view pass/fail comparison tables directly inside Unreal Editor without opening HTML reports

- Console and mobile support — capture on devkits and mobile devices, analyze results on desktop

- Bundled CLI launchers — one-click Python setup on Windows, zero-friction CLI access on all platforms

Workflow:

1. Create a PerfScenario asset with your map and camera path, replay file, or fixed duration (or just right-click a map for Quick Capture)

2. Record a baseline from a known-good build

3. On every PR/build, run the scenario and compare against the baseline

4. Get a clear pass/fail result with detailed regression reports (HTML or PDF)

Who is this for?

- Game studios running CI/CD pipelines on UE projects

- Technical artists and performance engineers who need automated frame budget tracking

- Virtual production teams monitoring rendering performance

- Any team that wants to catch performance regressions before they reach players

Documentation:

- Quick Start guide — get running in under 15 minutes

- CLI Reference — complete reference for all commands, flags, and suite configuration

- Project Settings — configure thresholds, warmup, storage paths, and budget presets in the editor

- Scenario Authoring guide — advanced configuration, warmup strategies, naming conventions

- Blueprint API guide — step-by-step examples for using PerfGuard from Blueprint

- CI Integration guide — pipeline setup for GitHub Actions, Jenkins, GitLab CI, and BuildGraph

- Troubleshooting guide — common issues and solutions with detailed fixes

- Engine Validation guide — step-by-step walkthrough for verifying your setup

- FAQ — common questions answered

PerfGuard's test controller module uses the Gauntlet plugin, which is built into Unreal Engine. The plugin enables it automatically — no setup needed on your part.

https://getperfguard.com