Quick answer: Lumen only runs at High and Epic global illumination and reflection quality, so a packaged game on lower scalability settings drops it. The other usual causes: a Post Process Volume that is not loaded at runtime, Lumen enabled only on a volume instead of in Project Settings, a different RHI, or editor-only config. Test a Development build and query the settings from the console.
The editor viewport always runs your scene on your workstation at the settings you chose. A packaged game runs with its own saved settings, its own config files, its own RHI and only the level content that is actually streamed in. Any of those can turn Lumen off without an error.
- Cause 1: scalability settings are below High
- Cause 2: the Post Process Volume is not loaded
- Cause 3: Lumen is not the project default
- Cause 4: the game is running on a different RHI
- Cause 5: settings that only exist in the editor
- How to test it properly
- What players actually run
- Related problems
- Frequently asked questions
Cause 1: scalability settings are below High
Lumen global illumination and reflections are part of the High and Epic scalability levels. At Medium and Low, the engine uses cheaper fallbacks, and an interior that depended on bounced light goes dark. The packaged game loads its scalability from the player's GameUserSettings.ini, which your settings menu, an auto-detect call or a device profile may have set lower than the editor.
Check in a Development build: open the console and run scalability to print the current levels, or query sg.GlobalIlluminationQuality and sg.ReflectionQuality. Values of 2 (High) or 3 (Epic) are needed for Lumen. Then decide whether your game supports Lumen-off at all; if it does not, clamp those two settings in your options menu.
Cause 2: the Post Process Volume is not loaded
If Lumen is turned on by a Post Process Volume rather than project settings, the packaged game only uses it when that volume is loaded and the camera is inside it (or it is unbound). With World Partition, a volume placed in the level is spatially loaded by default and may simply not be streamed in where the player starts. In the editor everything is loaded, so you never see the problem.
Fix: select the volume and untick Is Spatially Loaded, or place it in an always-loaded data layer. Better still, set the method globally (Cause 3) and use volumes only for per-area tuning.
Cause 3: Lumen is not the project default
In Project Settings > Engine > Rendering, set Dynamic Global Illumination Method to Lumen and Reflection Method to Lumen. The equivalent in DefaultEngine.ini:
[/Script/Engine.RendererSettings]
r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
Mesh distance fields are required for software Lumen. If they were turned off to save memory, Lumen in the packaged game has very little scene information to work with.
Cause 4: the game is running on a different RHI
If you enabled hardware ray tracing for Lumen, it only works on DirectX 12 (or Vulkan) with ray tracing hardware. A packaged game that starts on DirectX 11, because of a -dx11 launch option or an automatic fallback, uses software Lumen at best. Check the log for LogD3D12RHI versus LogD3D11RHI.
Cause 5: settings that only exist in the editor
- Console variables you typed into the editor console, or set in
ConsoleVariables.inior Editor Preferences, are not in the packaged game. Move the ones you rely on intoDefaultEngine.inior a device profile. - Per-platform config (
Config/Windows/WindowsEngine.ini,DefaultDeviceProfiles.ini) can override project settings for the packaged platform. - Engine scalability presets in
DefaultScalability.inican change what each level means for your project.
How to test it properly
- Package a Development build so you have a console.
- Start in the same level and spot where players start.
- Run
scalability, thenr.DynamicGlobalIlluminationMethodandr.ReflectionMethod(1 means Lumen). - Set
scalability 3and see whether the lighting comes back. If it does, Cause 1 is your answer. - Then try a fresh machine or delete your local
Saved/Configto see what a first-time player gets.
What players actually run
Most lighting complaints after launch are really settings reports. Bugnet's Unreal SDK attaches the player's GPU, OS and RAM and a screenshot to every report filed from your UMG menu, so “the game is too dark” arrives with the evidence of which hardware and which path the player is on.
Related problems
- Fix: Unreal Lumen Emissive Materials Not Lighting the Scene
- Fix: Unreal Lumen Lighting Flickering and Artifacts
- How to Fix Lumen Looking Too Dark or Noisy in Unreal Engine 5
- Fix: Unreal World Partition Streaming Not Loading
Frequently asked questions
Why does Lumen work in the editor but not in my packaged game?
Most often the packaged game runs below High scalability, where Lumen is disabled, or the Post Process Volume that enables Lumen is not loaded at runtime.
Which scalability levels support Lumen?
Lumen global illumination and reflections are enabled at High and Epic. At Medium and Low the engine uses cheaper fallbacks.
How do I check if Lumen is active in a packaged build?
In a Development build, open the console and query r.DynamicGlobalIlluminationMethod and r.ReflectionMethod; a value of 1 means Lumen. The scalability command prints current quality levels.
The editor shows you your best case. Package a Development build and look at what a fresh install gets.