Documentation / Shader Optimization Suite
Unreal Engine · Documentation

Shader Optimization Suite

Editor-only tools for finding expensive material nodes, sampler pressure, Nanite/Lumen risks and shader-permutation growth before they become production problems.

MCV HotspotsTexture AnalysisNanite & Lumen AuditPermutation Scanner
Overview

Turn shader complexity into actionable information.

MCV HotspotsFind expensive nodes and understand what drives their cost.
Texture AnalysisInspect sampler pressure, repeated samples and packing opportunities.
Nanite & Lumen AuditReview likely compatibility and rendering risks.
Permutation Bloat ScannerEstimate static-switch and usage-flag growth.
BroomDim or remove dead material nodes while keeping the graph reviewable.
Shader controlsPause, cancel or recompile material shader jobs and use Lambert View.
Shader Optimization Suite toolbar
Editor integration

Commands appear where you already work.

The plugin loads as an Editor module and adds commands to the Level Editor, Material Editor and Content Browser without changing cooked runtime behavior.

LocationCommands
Level Editor toolbarSkip Shader Compilation, Lambert View, Flush/Cancel Shader Queue, Recompile All Shaders, Shader Permutation Bloat Scanner.
Material Editor toolbarMCV and Broom.
MCV dropdownOverlay, analysis window, refresh, texture analysis, Nanite & Lumen Audit.
Content BrowserNanite & Lumen Audit and permutation scan.
MCV Hotspots

Rank expensive material expressions.

Material Complexity Visualization uses a weighted estimate of ALU work, texture samples, dependent reads, flow control and feature penalties. It is intended as a fast prioritization tool rather than a replacement for GPU profiling.

  • Analyzed nodes receive temporary cost labels.
  • Connections use an MCV color gradient and normalized thickness.
  • Disabling the overlay restores original comments and visibility.
  • P95, Global Max and Absolute normalization modes are available.
  • Clicking a hotspot row focuses the corresponding node in the Material Editor.
MCV analysis
Texture Analysis

Find sampler pressure and packing opportunities.

The analysis reports texture, parameter name, compression, sRGB state and inferred use. It can flag separate AO, Roughness and Metallic textures, repeated samplers and channels that could be packed.

The warning threshold is 12 samplers. When compiled statistics are unavailable, the report is marked Estimated and uses a conservative fallback limit of 16 without forcing shader compilation.

Texture Analysis
Nanite & Lumen Audit

Review selected materials against common constraints.

Findings are grouped by material and include clean materials explicitly. Each issue has a severity, category, description and recommended solution.

SeverityMeaning
InfoA compatibility detail worth keeping in mind.
WarningA configuration that may reduce quality or cost more than expected.
ErrorA likely incompatibility or setting requiring a deliberate fix.
Nanite and Lumen Audit
Permutation Bloat Scanner

Estimate exponential shader growth.

The scanner analyzes UMaterial assets and produces a heuristic planning estimate rather than an exact shader count.

TermFormula
BasePermutations2^min(StaticSwitchCount, 40)
UsageMultiplier2^number of active usage flags
EstimatedTotalBasePermutations × UsageMultiplier

The Grand Total is a sum of heuristic estimates. It is not memory usage or a direct compile-time prediction.

Shader permutation scanner
Broom

Review dead graph nodes before deleting them.

Broom dims dead or unused candidates first. Delete reanalyzes the graph, asks for confirmation and removes only the revalidated set through the normal Material Editor workflow so the action remains undoable.

Dim adds a [DEAD] prefix to the node comment. Restore removes that prefix while preserving the rest of the user's comment.

Shader compilation controls

Project-level shader workflow utilities.

CommandPurpose
Skip Shader CompilationTemporarily pauses material shader compilation; uncompiled materials use the World Grid Material fallback.
Lambert ViewSwitches the viewport to a simple lighting view for material inspection.
Cancel Material Shader CompilationCancels outstanding material jobs for currently loaded materials, without touching global shader jobs.
Recompile All ShadersQueues full recompilation for materials used by the current level, rather than every project/global shader.
Settings reference

Tune analysis budgets per project.

  • MCV Normalization Mode defaults to P95.
  • Total Cost Budget defaults to 300.
  • ALU Budget defaults to 250.
  • Texture Sample Budget defaults to 64.
  • Control Flow Budget defaults to 80.
  • Dependent Reads Budget defaults to 64.
  • Feature Penalty Budget defaults to 100.
  • Emissive Boost Warning Threshold defaults to 10.

These settings change presentation and prioritization. They do not modify the material or renderer.

Troubleshooting

Interpret the signal, then validate it.

No MCV labels

Confirm the material is open and MCV is enabled. Toggle MCV and refresh the analysis.

Wires stay gray

Show Wires may be disabled or the graph may need refreshing after a normalization change.

Texture count looks high

Check repeated samples and whether AO, Roughness and Metallic can be packed.

Permutation number seems huge

The exponential warning is intentional. Review static switches and usage flags before treating it as a compile-time fact.

Final authority

GPU captures, shader compiler output, target platform profiles and real production content remain the final authority for performance decisions.