AO/Reflections/Shadows flickering


Hi,

I have to battle some AO/Reflections/Shadows flickering and some minor mesh artifacts inside of Unreal Engine 5.5.4 (Lumen Lighting).

Test Video:
https://www.youtube.com/watch?v=2qNdnskaGso

For the flickering, I've tried these but wasn't able to solve it. Maybe someone has another idea for getting rid of the flickering working with Lumen.

  1. Adjust Post Process and Project Settings console commands:

    • Set reflection downsample factor (r.Lumen.Reflections.DownsampleFactor) to 0 or 1 to maximize resolution.

    • Increase max reflection bounces to allow more accurate reflections in glass/windows.

    • Enable screen traces for reflections (r.Lumen.Reflections.ScreenTraces 1).

  2. Avoid overlapping glass surfaces or double-thin geometry which can cause flickering due to conflicting reflection rays.

  3. Slightly move light sources away from reflecting surfaces to prevent glitching caused by lights too close to windows.

  4. Use single-sided glass materials where feasible, though this is not always suitable for buildings.

  5. Optionally disable certain Lumen screen tracing features to see if specific flicker sources can be mitigated (test r.Lumen.ScreenProbeGather.ScreenTraces 0 as an example).

  6. Increasing screen percentage in post process volume improves reflection sharpness but impacts performance. Find a balance there.

    Thank you for any help!

    Marc

   mahankel@ks

Comments

Eifert@Aximmetry
  -  

Hi Marc,

Unfortunately, Lumen can sometimes behave like that.
First, you should verify that the issue is really being caused by Lumen Reflections. You can do this by disabling Lumen Reflections in the console using the command r.Lumen.Reflections 0. If the flickering still occurs after disabling it, then Lumen Reflections is likely not the cause, and you can disregard the following suggestions.

However, if disabling Lumen Reflections resolves the flickering, you could also try adjusting the "High Quality Translucency Reflections" setting in the Unreal Project Settings, if you haven't already.

After that, you may want to consider the following additional steps I gathered from online resources:

1. Stabilize Temporal Accumulation (the “flicker” fix)

Lumen relies heavily on temporal accumulation to smooth out its noisy ray tracing results. If the default denoiser cannot keep up, you get flickering.

Console command:
r.Lumen.Reflections.Temporal.StabilityMultiplier 2 (or higher, try up to 5).

Why: This forces the engine to “hold on” to previous frames longer, which significantly smooths out the flickering in reflections, though it may introduce slight ghosting on fast‑moving objects.

Console command:
r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated 30 (default is often lower).
Why: Increasing this stabilizes the Global Illumination noise that often looks like shadow flickering.

2. Make Lumen Reflections less dependent on screen traces

2.1 Disable Lumen’s screen‑space layer for testing

Screen‑traced components are the ones that tend to pop/flicker with camera motion or occlusion. Several users have fixed nasty reflection flicker by turning them off and letting ray‑traced Lumen do the work:
r.Lumen.Reflections.ScreenTraces 0
r.Lumen.ScreenProbeGather.ScreenTraces 0

You mentioned only testing ScreenProbeGather.ScreenTraces — it’s worth disabling both for a test.

Important: this works best if you have Hardware Ray Tracing enabled (see next item), otherwise, quality may drop.

2.2 Prefer hardware RT for reflections (if GPU/OS allows)

On a DX12 + RTX (or similar) system:

Project Settings → Rendering → Hardware Ray Tracing

Enable Support Hardware Ray Tracing.
Project Settings → Rendering → Lumen

Enable Use Hardware Ray Tracing when available.
Set Software Ray Tracing Mode to Detail Tracing for maximum quality (more expensive, but best stability). (francescllorens.com)
Then in your main Post Process Volume:

Reflections → Method = Lumen.
Lumen Reflections Quality = High (3–4).
If you still see serious flicker just on glass, a workaround is to use a different reflection method only for the hero glass:

Create a dedicated PostProcessVolume that only affects that area.
Set Reflection Method = Screen Space or Standalone Ray Traced (if exposed in your version).
Bump samples (e.g. 16–32).
This can really calm down “strobe” reflections at the cost of performance.


3. Check for material/geometry traps

Glass material:
Avoid double‑sided translucent with the same translucency sort priority as another pane behind it (this is known to cause weird reflection popping). (reddit.com)

Glass mesh settings:
Try disabling Affect Distance Field Lighting on glass meshes so they don’t contaminate Lumen’s distance fields.
Thin alpha‑masked assets behind glass:
You might have blinds/foliage behind glass, test temporarily replacing them with a simple opaque mesh; some very thin alpha‑masked assets can cause unstable reflections.

Under Global Illumination / Reflections quality overrides in your Post Process Volume:
Set GI Quality and Reflections Quality to Epic or Cinematic at least for your test camera. This drives up internal Lumen quality.


4. Fix mesh artifacts (the “black splotches” fix)

If your mesh artifacts look like dark blotches or leaks, your Mesh Distance Fields (MDF) are likely broken, especially for thin geometry. Lumen Software Ray Tracing relies entirely on these MDFs.

Open the problematic Static Mesh in the editor → Build Settings → enable Two‑Sided Distance Field Generation.

Why: By default, UE5 treats objects as solid volumes. Thin walls or single‑sided meshes generate corrupted distance fields, causing rays to pass through or get trapped, resulting in black artifacts.

Visualizer:
View the problem by switching your Viewport View Mode to:
Lumen → Lumen Scene, or
Mesh DistanceFields.

If the representation there looks broken or has holes, that is your culprit.

5. Reduce Virtual Shadow Map (VSM) noise

If the flickering is specifically in the shadows (edges appearing to boil or jitter), it is likely a Virtual Shadow Map issue, not just Lumen.

Console command:
r.Shadow.Virtual.SMRT.RayCountLocal 8 (default is usually 4 or lower).
Why: This increases the sample count for local lights, reducing the boiling noise in soft shadows.

Console command:
r.Shadow.Virtual.ContactShadowLength 0.05 (try reducing this).
Why: Long contact shadows can sometimes conflict with ray‑traced shadows, causing a strobing effect near the base of objects.

6. Increase Final Gather quality (brute‑force GI stabilization)

You mentioned increasing Screen Traces, but Final Gather is the primary quality knob for the GI noise floor.

In your Post Process Volume → Lumen Global Illumination → Final Gather Quality, try setting this to 2.0 or 4.0.

Note: This is expensive performance‑wise, but it is the brute force method to stop GI flickering.

Warmest regards,

mahankel@ks
  -  

Hi Eifert,

Thank you very much for your detailed response. I will try all of this and get back to you as soon as possible.


Have a great week!

Best Regards
Marc