Scene Optimizer — Automated Performance Analysis & Optimization for UE 5.7
Stop guessing where your frames are going. Scene Optimizer scans your entire level, identifies exactly what's costing you performance, estimates the FPS impact of every issue, and fixes many of them with a single click — all from inside the editor.
📚 Documentation | 💬 Discord | ▶️ Demo Video
Why Scene Optimizer?
UE5 gives you Lumen, Nanite, Virtual Shadow Maps, and a powerful post-processing pipeline — features that are easy to misuse. A few redundant shadow-casting lights, hundreds of small props with unnecessary shadows, 4K textures on meshes you'll never see up close, or SSR stacked on top of Lumen reflections can silently destroy your frame rate. You won't notice until late in development when profiling becomes urgent and expensive.
Scene Optimizer catches these problems early. One click gives you a full performance audit with a score out of 100, a ranked list of every issue, and estimated FPS impact. Fix the issues that matter most, re-scan, and watch your score climb — all without leaving the editor.
10 Built-In Analyzers
🔦 Lighting Analyzer Dynamic light count, shadow-casting overhead, oversized attenuation radii, light overlap cluster detection, Lumen-specific issues (rect lights, cascades). Lumen-aware — never suggests changes that would degrade Lumen performance.
🌑 Shadow Analyzer The highest-impact analyzer for FPS improvement. Identifies shadow-casting mesh ratio, small props casting unnecessary shadows (the single biggest VSM optimization in most scenes), and excessive shadow draw distances.
🔷 Nanite Analyzer Nanite-fallback-aware analysis (avoids false positives from reading fallback mesh tri counts). Detects high-poly meshes missing Nanite, excessive instance counts, missing fallback LODs, and Nanite with translucent materials.
🎨 Material Analyzer Shader complexity estimation, excessive texture samples, unique material count (draw call pressure), translucency overuse, single-use materials, and null material slots.
🖼️ Texture Analyzer VRAM budget tracking with per-texture breakdown showing resolution, format, VRAM size, and percentage of total budget. Top 5 offenders listed directly in the summary. Oversized textures on small meshes, uncompressed texture detection, non-power-of-two warnings. Click "Open Texture" to jump straight to the Texture Editor. Respects Maximum Texture Size settings — re-scan after resizing and the issue disappears.
📐 Draw Call / Instancing Analyzer Finds static meshes placed 10+ times as individual actors — each copy is a separate draw call. Reports instancing candidates with exact copy counts. Flags high actor counts and overly complex actors (50+ components).
🎬 Post-Processing Analyzer Flags expensive Lumen quality settings, Hardware Ray Tracing, redundant SSR stacked with Lumen Reflections, high bloom, shallow DOF, motion blur, and multiple unbounded Post Process Volumes.
💥 Collision Analyzer Detects Complex-as-Simple collision on high-poly meshes (extremely expensive for physics traces) and large meshes missing collision that may be walkable surfaces.
🌿 Foliage Analyzer Identifies shadow-casting foliage instances (major VSM cost in outdoor scenes), excessive foliage density (50K+ instances), and translucent foliage materials that can't use Nanite or Lumen GI.
📏 Custom Rule Engine Define your own optimization rules via Data Assets — no code required. Set target type, comparison operator, threshold, and severity. Rules are auto-discovered from your Content folder.
Performance Estimator
Before/after FPS estimates with a budget breakdown across five categories: lighting, shadows, materials, geometry, and draw calls. See exactly how much each issue costs and what you'll gain by fixing it. Displayed in the results panel and included in every exported report.
Viewport Overlay
3D markers at issue locations with severity-based coloring. Critical issues pulse red. A HUD panel shows your score and issue counts. Toggle with the toolbar button.
🔄 Trend Tracking & Regression Detection
Every scan is automatically recorded. Track your optimization score over time across builds. Detect regressions instantly — "Score dropped 12 points since build #471." Tag scans with build IDs from your CI pipeline for full traceability.
📡 Webhook Notifications (Slack / Discord / Custom)
Get notified when scans complete. Rich formatted messages with score, issue breakdown, FPS estimate, and trend comparison.
Slack — Block Kit formatted messages
Discord — Color-coded embeds
Custom — Raw JSON payload for Grafana, PagerDuty, Teams, or internal tools
Configure to notify on every scan, only on regressions, or only from CI.
⚙️ CI/CD Quality Gates
Run from the command line. Fail builds that don't meet your performance standard.
UnrealEditor-Cmd.exe Project.uproject -run=SceneOptimizer \ -map=/Game/Maps/MainLevel -minscore=70 -buildid=$BUILD_NUMBER \ -report=scan_report.json
Returns exit code 1 on failure. Works with GitHub Actions, Jenkins, GitLab CI, and any build system.
📈 HTML Trend Charts
HTML reports include SVG trend charts showing score and FPS history over time. Hover data points for details. Share with your team as a visual performance dashboard.
Reports
JSON — Machine-readable for CI pipelines, external dashboards, and automation. Includes full performance estimates, budget breakdowns, trend history, and asset paths.
HTML — Self-contained dark-themed visual dashboard with performance charts, budget bar charts, ranked fix recommendations, and SVG trend charts.
Blueprint API
Every feature is exposed to Blueprint. Scan from gameplay, check quality gates, export reports, read trend data, and trigger webhooks — all without writing C++.
Extensibility
Write your own analyzers in C++ or Blueprint by subclassing USceneAnalyzerBase. Or skip code entirely — the Custom Rule Engine lets you define rules as Data Assets in the Content Browser.
Technical Details
Engine Version: Unreal Engine 5.7
Platforms: Windows, macOS, Linux (editor)
Modules: Runtime (available in-game) + Editor (UI, toolbar, viewport overlay)
Source: Full C++ source code included
Blueprint: All features exposed to Blueprint
Analyzers: 10 built-in + custom rule engine
Lumen & Nanite: Fully aware — fixes adapt to your rendering pipeline
What's Included
Full C++ source code (Runtime + Editor modules)
10 built-in analyzers covering lighting, shadows, Nanite, materials, textures, draw calls, post-processing, collision, foliage, and custom rules
5 auto-fix handlers with undo support (Lumen-safe)
Performance estimator with FPS predictions and budget breakdowns
Viewport overlay with 3D issue markers and HUD
Category + severity filtering in results panel
"Go To" viewport navigation and "Open Texture" for texture issues
Report exporter (JSON + HTML with trend charts)
CI commandlet with quality gates and build ID tracking
Trend tracking with regression detection
Webhook notifications (Slack, Discord, Custom)
Blueprint function library
Configurable settings with Project Settings integration
Full documentation with webhook setup tutorials, CI/CD examples, and FAQ