TA logoThe Technical Artist
Home/Unreal Engine/Performance/Lighting
perf 05
performance

Lighting & Shadows

Workingguide~2 min readreviewed 2026-07-05

Light counts and shadow choices are among the biggest scene-level performance levers in UE5 - and among the easiest to audit.

5.1Light Mobility Sets The Price

Diagram comparing static, stationary and movable light costs
fig 12 - mobility sets the price

Static lights bake to lightmaps (nearly free at runtime); Stationary lights bake indirect but compute direct lighting and shadows live (limit ~4 overlapping); Movable lights compute everything every frame. The audit rule mirrors meshes: nothing should be Movable that doesn't need to be.

5.2Shadowed Movable Lights - The Biggest Single Lever

A movable point light casting shadows re-renders its surroundings into a shadow map - a point light does it in six directions. From the master checklist: keep light counts low, especially shadowed movable lights - one of the biggest scene-level wins. The audit passes:

  • Turn Cast Shadows off on fill/accent lights - most small lights read fine unshadowed.
  • Tighten attenuation radius - a light's cost scales with what it touches; use the Light Complexity view to see overlap. More than ~4 lights overlapping the same area is a red flag.
  • Set Max Draw Distance on small lights so they cull.
  • Reduce per-light shadow resolution where the fidelity isn't visible.

5.3Lumen: Dynamic GI Has A Subscription Fee

Lumen delivers dynamic global illumination and reflections for a per-frame GPU cost driven by quality settings, screen percentage, and scene complexity (check stat gpu -> Lumen passes). The high-level levers: Global Illumination and Reflection quality scalability groups, Software vs Hardware Ray Tracing choice, and Surface Cache health - materials must be Surface-Cache-friendly (visualize with Lumen view modes). On tight budgets, baked lighting remains a legitimate, gorgeous, nearly-free option for static scenes.

5.4Virtual Shadow Maps

VSM (the UE5 default) delivers crisp shadows but its cost scales with light count, resolution, and - critically - invalidations: anything moving (or animating via WPO) forces shadow pages to re-render. Keep WPO off distant things, keep movable objects minimal, and watch the VSM stats when shadows dominate stat gpu.

5.5Scene Hygiene

Volumetric fog on every light adds up - enable per-light volumetric contribution deliberately. Light functions are per-pixel material evaluations. IES profiles are cheap; light channels are organizational, not free. And the sun: one directional light, cascades tuned to gameplay distances, not defaults.