Focused reference · Unreal Engine 5.8
Profiling and debugging
Visual defect ladder
- Preview texture channels and constants independently.
- Verify UV set/scale and object/world/tangent coordinate spaces.
- Verify sRGB, normal sampler, compression, channel packing, and mip level.
- Reduce the graph to the minimum surface; re-enable functions/layers one at a time.
- Test neutral direct lighting before blaming the material or lighting system.
- Inspect bounds, decals, RVT writer/receiver assignment, and platform feature switches.
Cost ladder
- Record target resolution, view, material screen coverage, and overlapping transparency.
- Use Material Editor stats/platform stats for compiled shader information.
- Use Shader Complexity (
Alt+8) to locate costly pixel regions and particle/translucency overdraw. - Use Material Analyzer for static-switch/permutation families.
- Use GPU profiling/Insights on target hardware to verify actual passes and time.
- Change one suspected cost and compare the same capture.
Instruction count alone misses important differences such as texture fetches, bandwidth, divergent work, and vertex cost. A costly pixel shader matters most over large screen area; WPO/vertex work matters for every submitted vertex. Translucent layers can repeatedly shade the same pixel.
Common causes:
- Pink/checker/default material -> compile error, missing shader, unsupported path.
- Flat/no normal response -> sampler/import type or tangent basis.
- Dark/bright mismatch -> color-space or packed-channel error.
- Flickering displacement -> bounds, precision, temporal aliasing, or LOD discontinuity.
- Shader compile explosion -> unconstrained static switches and instance override combinations.