Every pixel pays for its material every frame. This is the audit pass: shader complexity, samplers, translucency, overdraw, WPO, and runaway permutations.

Shader Complexity is the fastest material audit Unreal gives you: green cheap, red expensive, white emergency. Sweep every level with it. The usual suspects are layered materials on huge surfaces, expensive shading models used casually, dense two-sided foliage, and stacked translucent effects.

Opaque pixels shade once. Translucent pixels shade once per overlapping layer. Ten stacked smoke sprites means the same pixels get paid ten times. That is overdraw, the classic VFX frame-killer. Check it with Quad Overdraw. Fixes are practical: fewer and smarter particles, tighter sprite geometry, masked instead of translucent where possible, and the cheapest translucency Lighting Mode the effect can survive. Two-sided doubles rasterization, so save it for foliage and cloth.
Every static switch, usage flag, and quality level multiplies what a master material compiles into. The symptoms are hour-long shader compiles, huge shader libraries, and PSO hitches at runtime. The discipline is boring and effective: fewer masters, budgeted switches, and material instances for variation. One wasteful master used by 300 instances is a tax on the whole project.
From the audit framework: reduce two-sided materials, fix translucent overdraw, reduce texture samplers, simplify complexity on high-usage masters. In that order.