Right-click a map. Capture frame timings in a standalone game process. Compare against a stored baseline. When numbers drift, CI fails — no manual profiling passes on every milestone.
The same scenario you author in the editor is what runs headless in CI. One configuration, two execution paths.
Right-click any map in the Content Browser and get Frame Time, GPU Time, Draw Calls, and Memory in seconds. No scenario setup, no Level Sequence, no CLI — instant profiling from the editor.
View pass/fail results, baseline vs. current values, and deltas directly inside Unreal Editor. No browser or terminal required — open PerfGuard > Results Panel and see everything at a glance.
Define test scenarios as UE Data Assets with three capture modes: Level Sequences for deterministic camera flythroughs, Replays for gameplay-driven scenarios, or Duration Only for static scene profiling. Configure warmup, stat selection, and thresholds — all in the editor.
Record baselines from known-good builds, store as JSON, compare on every PR. Per-platform, per-scenario baselines with export/import for version control.
Self-contained reports with trend charts, frame time histograms, hitch analysis, executive summaries, and dark mode. Works offline — no external services.
Drop-in configs for GitHub Actions, Jenkins, GitLab CI, and BuildGraph. PR comment bots, exit codes for gating, and JSON output for dashboards.
Automatic detection of frame spikes with severity classification (mild/moderate/severe), per-hitch bottleneck attribution (GPU/Game Thread/Render Thread), and cluster drill-down.
IQR outlier trimming, percentile aggregation (P50/P95/P99), confidence intervals, coefficient of variation detection, and thermal throttle identification.
Get alerted on regressions via Slack, Microsoft Teams, or generic JSON webhooks. Conditional posting — only fires when something regresses.
Built-in 30fps, 60fps, and VR 90fps budget presets with automatic threshold configuration. One flag to enforce your target frame rate.
Headless test execution via UE's Gauntlet framework. Full state machine lifecycle (Init → LoadMap → Warmup → Capture → Finish) with timeout protection.
RHI-level GPU timings via UE Insights traces. Per-pass GPU breakdown charts, draw call detail tables, and an "Open in Insights" launcher for deep investigation.
Automated PR/MR comments with formatted stat tables showing exactly what changed. GitHub Actions and GitLab CI configs included — reviewers see perf impact at a glance.
Full subsystem exposed to Blueprint: CSV capture, sequence/replay playback, baseline I/O, and four multicast delegates. Build custom performance UIs and integrate captures into gameplay events.
Generate print-ready PDFs from HTML reports via headless Chrome. One flag (--pdf), zero external Python dependencies. Share results with stakeholders who prefer documents over dashboards.
Per-metric noise floor from multi-run variance or single-run frame data. Warns when regression thresholds are below measurement precision — prevents false positives from hardware noise.
Engine-level health checks detect GPU time gaps, sequence stalls, warmup instability, and thermal throttling. Configurable warning and failure thresholds with diagnostic cards in reports.
Milestone-time profiling passes become per-commit checks. Nothing is hidden; everything is reproducible.
Captures run in a standalone -game process so editor overhead doesn't pollute the numbers.
Right-click any map in the Content Browser and select PerfGuard: Quick Capture. A standalone game process captures Frame Time, GPU Time, Draw Calls, and Memory. Your first run records a baseline automatically.
Run Quick Capture again after making changes. PerfGuard compares against the baseline and shows pass/fail results in PerfGuard > Results Panel — all inside the editor.
The same scenarios run headless via Gauntlet on the build machine. Non-zero exit code fails the build, and the HTML report is an artifact for the PR.
A real dashboard and report generated from an actual UE profiling run — click any run for its full report.
Expand any of these for the technical detail behind the feature cards above.
Track the metrics that matter most to your project:
Each stat supports configurable aggregation: Average, Median (P50), P95, P99, or Maximum.
All configs include: structured JSON output, exit code gating (0=pass, 1=regression, 2=error), artifact upload, and report publishing.
-RenderOffScreen (GPU stats remain valid)suite.json filebCaptureTrace property or globally via --no-trace CLI flagperfguard history show --stat FrameTimeGitHub Actions, Jenkins, GitLab, BuildGraph. All call the same shell wrapper, which detects the CI environment and runs the suite.
Install through CI integration, plus deep dives on GPU and CPU regressions.
Install the plugin, create your first scenario, record a baseline, and run a comparison — all in under 15 minutes.
Start Tutorial →
Author scenarios with Level Sequences, Replays, or Duration Only captures. Configure stat tracking, warmup frames, Insights traces, and organize with tags.
Start Tutorial →
Use PerfGuard entirely from Blueprint — one-button captures, warmup countdowns, live frame time displays, and automated scenario runners without writing C++ or Python.
Start Tutorial →
Record gameplay sessions, benchmark them as repeatable performance tests, and detect regressions in combat, AI, physics, and streaming workloads.
Start Tutorial →Record, compare, export, and import baselines. Learn per-platform baseline strategies and threshold tuning for your project.
Start Tutorial →
Configure PerfGuard in GitHub Actions, Jenkins, or GitLab CI. Set up PR gating, artifact archival, and Slack notifications.
Start Tutorial →Understand every section of the HTML report: executive summary, stat tables, trend charts, hitch analysis, and diagnostics.
Start Tutorial →Use auto-threshold recommendations, multi-run confidence intervals, and CoV detection to eliminate false positives and catch real regressions.
Start Tutorial →
When PerfGuard flags a GPU regression, here’s how to find it: draw calls, overdraw, Lumen, VSM, Nanite, shader complexity, and RHI stalls.
Start Tutorial →
Game thread vs render thread, tick budgets, Blueprint overhead, physics, AI, GC spikes, and a systematic investigation workflow.
Start Tutorial →Hardware isolation, thermal management, scenario design, threshold tuning philosophy, CI architecture, and lessons from shipping titles.
Start Tutorial →Full source at every tier. One-time licenses, no subscriptions.
For solo developers and small teams.
For teams with CI pipelines and dedicated perf engineers.
For large studios needing unlimited seats and dedicated support.
Tools\Launchers\setup_python.bat for a one-click portable install — no admin rights needed. On Linux/Mac, most systems already have Python 3.11+. Without Python, captures still run but baseline comparison is skipped.