Game DevelopmentMarch 28, 2025· 12 min read

Unreal Engine 5 Lumen: A Practical Guide

My hands-on experience with Lumen global illumination — what works, what breaks, and how to actually use it in a real game project.

By Connor Delia·Unreal Engine 5LumenGame DevGraphics

Unreal Engine 5 Lumen: A Practical Guide

After spending months working with Unreal Engine 5's Lumen global illumination system for my racing game project, I've accumulated enough hard-won knowledge to actually be useful to other developers. This is not the official documentation — this is what you actually need to know.

What Lumen Actually Is

Lumen is Epic's real-time global illumination system that dynamically calculates how light bounces around your scene. No more baking lightmaps for hours. No more re-baking every time you move a light. Light just... works.

The cost? Performance. But handled correctly, it's absolutely worth it.

Hardware vs Software Lumen

First decision: hardware or software ray tracing?

Hardware Lumen (RTX required):

  • Higher quality reflections
  • Better indirect light accuracy
  • Significantly higher GPU cost
  • Software Lumen:

  • Works on any DX11/DX12 GPU
  • Slightly lower quality but often indistinguishable
  • Much broader compatibility
  • For my racing game, I'm using software Lumen at medium quality settings because I want to support a wider range of hardware.

    The Settings That Actually Matter

    In your Project Settings > Engine > Rendering:

    # The most impactful settings:
    r.Lumen.Reflections.Allow=1
    r.Lumen.Reflections.MaxRoughnessToTrace=0.4
    r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget=200
    r.Lumen.GlobalIllumination.MaxTraceDistance=20000

    The MaxRoughnessToTrace setting is huge — raising it above 0.4 tanks performance without visible benefit in most scenarios.

    Common Pitfalls

    1. Bright emissive materials everywhere

    Lumen tries to trace every emissive surface as a light source. Use emissive materials sparingly and prefer actual light actors where possible.

    2. Not using Nanite for geometry

    Lumen and Nanite are designed together. Enable Nanite on all your high-poly static meshes — you'll get better performance AND better GI quality.

    3. Forgetting Sky Atmosphere

    Lumen's exterior lighting quality depends heavily on properly configured Sky Atmosphere and Directional Light settings. Get these right first before tweaking Lumen.

    Performance Optimization

    The biggest wins I found:

  • **Set Lumen quality to "Medium"** — the visual difference from High is minimal at typical view distances
  • **Use LODs aggressively** — Lumen respects mesh LODs which dramatically improves performance
  • **Limit dynamic lights** — Static and Stationary lights are much cheaper than Dynamic with Lumen
  • Despite its complexity, Lumen has genuinely changed how I think about lighting in real-time environments.