All Posts
UE5 · July 21, 2026 · 10 min read · By Althera Games

UE5 Lumen Console Variables: A Performance Reference (2026)

TL;DR

Lumen is the most generous lighting gift UE5 hands to indie teams — and the easiest to accidentally overspend. The good news is that a small set of console variables controls most of Lumen's cost, and knowing exactly what each one does turns "the scene is dropping frames" into a five-minute diagnosis. This is the reference we keep open while tuning lighting in Potion Rise Simulator and NightRecord: Thin Walls at Althera Games: what each Lumen cvar does, when to touch it, and safe starting values for indie hardware budgets.

If you want the conceptual grounding first — how Lumen's GI and reflections actually work — read our UE5 Lumen guide. This article is the hands-on companion: the exact variables and numbers. For the broader picture, our UE5 performance optimization checklist puts Lumen tuning in the context of the whole frame.

The Golden Rule: One Variable, One Measurement

Before any specific cvar, the method that saves you days: change exactly one variable, measure, write down the delta, then decide. Lumen's passes feed each other — reflections sample the same radiance cache that GI builds — so stacking five tweaks at once makes it impossible to know which one helped or hurt. Open the console (backtick `), type stat GPU to see Lumen's line items in milliseconds and stat unit for the overall frame, then move one lever at a time. Profile in a packaged Shipping build; editor numbers lie.

The High-Impact Lumen Console Variables

These are the variables that move real milliseconds. Values are starting points, not gospel — measure on your target hardware.

Console variableWhat it doesIndie starting point
r.Lumen.Reflections.AllowMaster on/off for Lumen reflections in the view. 0 disables reflections while keeping GI.1; try 0 on scenes with few reflective surfaces
r.Lumen.DiffuseIndirect.AllowMaster on/off for Lumen diffuse global illumination.1 (this is why you chose Lumen)
r.Lumen.HardwareRayTracingSwitches Lumen from software tracing to hardware ray tracing (needs RT-capable GPU).0 baseline; 1 only on a high-end tier
r.Lumen.ScreenProbeGather.DownsampleFactorResolution of the screen-probe GI gather. Higher = cheaper and blurrier GI.16 default; raise to trade quality for cost
r.Lumen.Reflections.MaxRoughnessToTraceRoughness cutoff above which surfaces stop getting traced reflections.Lower it to skip reflections on rough surfaces
r.Lumen.Reflections.ScreenSpaceReconstructionScreen-space denoise/reconstruction for reflections.1 (keep on for cleaner reflections)
r.LumenScene.SurfaceCache.*Detail/update settings for the surface cache that feeds Lumen. Governs scene-scale cost.Leave default; revisit only on large open worlds

r.Lumen.Reflections.Allow — your cheapest test

When a scene drops frames and you suspect lighting, r.Lumen.Reflections.Allow 0 is the first thing to type. It cleanly isolates the reflection pass: if the frame recovers, you know reflections are the cost and can decide whether the scene even needs them. A dim interior corridor with matte walls rarely justifies full Lumen reflections; a wet street at night does. Make this a scalability decision per scene or per quality tier, not a global sacrifice.

Software vs hardware ray tracing

r.Lumen.HardwareRayTracing 1 gives you sharper reflections and more accurate GI, but only on RT-capable GPUs and at a real cost. For an indie game that wants to run on a wide range of machines, software Lumen is the sane default; hardware Lumen belongs in an Epic/High scalability tier that players opt into. Shipping hardware Lumen as your baseline quietly cuts off a chunk of your potential audience.

Lumen doesn't have a single "make it fast" switch. It has a handful of honest trade-offs, and the studios that ship smooth Lumen are the ones who measured each one instead of copying a cvar list off a forum — including this one.

Where to Set These (Not by Hand)

Typing cvars in the console is for testing. For shipping, bake your chosen values into scalability so they follow the player's quality setting: put them in DefaultScalability.ini under the appropriate [LumenQuality@n] groups, or drive them through device profiles for platform-specific defaults. That way "Low" genuinely disables the expensive Lumen work and "Epic" turns on hardware tracing, without you managing a pile of runtime SetByConsole calls. Our performance checklist covers the scalability wiring in full.

A Practical Tuning Order

Frequently Asked Questions

What does r.Lumen.Reflections.Allow do in UE5?

It is a 0/1 toggle that enables or disables Lumen's reflection pass for the view. Setting it to 0 turns off Lumen reflections while leaving Lumen GI intact — a fast way to measure how much frame time reflections cost. On tight indie budgets, disabling reflections on scenes with few reflective surfaces often recovers meaningful GPU time with little visible loss. It is a project/scalability setting, not a per-frame flip.

Which Lumen console variables have the biggest performance impact?

The highest-impact ones are r.Lumen.Reflections.Allow, r.Lumen.DiffuseIndirect.Allow, r.Lumen.HardwareRayTracing, r.Lumen.ScreenProbeGather.DownsampleFactor, and the r.LumenScene.SurfaceCache group. Change one at a time and measure with stat GPU/stat unit, because Lumen cvars interact and a blind stack of tweaks makes regressions impossible to attribute.

Should indie games use software or hardware ray tracing Lumen?

For most indies targeting a wide hardware range, software Lumen (the default) is safer: it runs on GPUs without RT cores and has more predictable cost. Hardware Lumen (r.Lumen.HardwareRayTracing 1) is cleaner but needs RT hardware and costs more, so keep it as a high-end scalability tier rather than your baseline.

How do I profile Lumen cost in UE5?

Use stat GPU for the Lumen line items in milliseconds and stat unit for the frame budget. Toggle a single cvar such as r.Lumen.Reflections.Allow 0, read the delta, then restore it. ProfileGPU (Ctrl+Shift+,) gives a per-pass breakdown. Always profile in a packaged/Shipping build for numbers that match what players get.

Conclusion

Lumen isn't expensive by nature — it's expensive when it's left on full for scenes that don't need it. A handful of console variables, changed one at a time and measured honestly, is the whole game: kill reflections where they don't earn their cost, keep GI where it sells the mood, reserve hardware tracing for players who can afford it, and bake the result into scalability. Do that and Lumen becomes what it should be — cinematic lighting that still ships at frame rate.

Pair this with our Lumen guide for the concepts, the UE5 performance checklist for the whole frame, and the UE5 guide hub for everything else.

UE5 Lumen Performance Rendering Console Variables

We tune Lumen this way in NightRecord: Thin Walls (UE5) — wishlist it on Steam and follow the dev journey.

Steam Wishlist

Related Posts