Anti-Reflections-/Shadows-Crawling in Lumen

Hello Eiffert,

there is already this great thread we had going

https://my.aximmetry.com/post/4926-aoreflectionsshadows-flickering
where, thanks to you, I have already received a wealth of invaluable information on the topic of "Shadow/Reflection problems in Lumen."

To make the topic understandable for others who are also experiencing such problems, I am creating a new post here to summarize the topic clearly and concisely. It looks like this at the moment, I hope the Filestage link works because it's best to see the reflections in motion. Below are a couple of attached images to show where the reflections are working well and where they aren't:

sometimes we get great reflections and sometimes they are still pretty rough/raw (pixelation effect). Especially when the camera is moving and we have movement on the virtual screen. Lumen reflections seem to have problems with quick changes in contrast. That's where we get the crawling/pixelation effects.

https://app.filestage.io/step/f62767356c0fed4b38f90af3ced9d77d/review/7b7c6e62d392e781f2b5e679903693b8

Anti-Reflections-/Shadows-Crawling in Lumen

Anti-Reflections-/Shadows-Crawling in Lumen

Anti-Reflections-/Shadows-Crawling in Lumen

Anti-Reflections-/Shadows-Crawling in Lumen

The following settings are from our first thread mentioned above and they have made the reflection crawling a lot milder. It also seems that the reflections are reacting faster, but that's maybe just a conceit:

################################################
For "DefaultEngine.ini" File

[SystemSettings]
; Previous VSM anti-boiling settings (keep them here)
r.Shadow.Virtual.SMRT.RayCountLocal=8
r.Shadow.Virtual.ContactShadowLength=0.05
r.Shadow.Virtual.SMRT.SamplesPerRayLocal=8
r.Shadow.Virtual.SMRT.AdaptiveRayCount=0

 

; Anti-crawling / shimmering in Lumen reflections
r.Lumen.Reflections.DownsampleFactor=1                  ; 0 = full resolution (sharpest, most expensive), 1 = good balance
r.Lumen.Reflections.MaxBounces=4
r.Lumen.Reflections.MaxRayIntensity=3                   ; Lowers fireflies/noise (default is often ~100)
r.Lumen.Reflections.ScreenTraces=0
r.Lumen.ScreenProbeGather.ScreenTraces=0
r.TemporalAA.Upsampling=1
r.TemporalAA.FilterSize=1.2

################################################

one less important thing, but still it catches my eye,  the edge lighting outshines (settings haven't been changed).

Anti-Reflections-/Shadows-Crawling in Lumen

We still have some wiggle room regarding performance with the workstation (Threadripper/RTX 6000ADA). So we could crank some quality settings up, if they provide the targeted quality improvement in reflections.

Looking forward to what you think!

Best regards
Marc


   mahankel@ks

Comments

Eifert@Aximmetry
  -  

Hi Marc,

Thank you very much for this write-up. I think it will help a lot of people, because we keep seeing users run into these issues.

Warmest regards,

JohanF
  -  

The most efficient way to get rid of noise in reflections is to use r.Lumen.Reflections.ScreenSpaceReconstruction.TonemapStrength 1. That clamps the contribution of emissive materials like screens to get rid of any fireflies. 

mahankel@ks
  -  
Hi @Eifert,
yes, hopefully this is helping others. In case you can think about another setting, which would help my base question.
You can see my images with the "BAD" reflection areas!? Sp, please let me know in case you have another idea in your pocket! ;)

Hi @JohanF,
thanks a bunch for your tip, Johan! I'll try that today as soon as I'm in the studio. I'll let you know if it helped.

Eifert@Aximmetry
  -  

Hi,

I am not sure what else might help at this point, but there may be additional settings worth trying. If you would like to dig deeper, I can gather a full list of the relevant Unreal Engine settings.

One more thing that may help: you could set these parameters dynamically based on the specific video being played. If I understood correctly, the settings behave “badly” with one set of virtual screen videos but “good” with another (likely due to differences in detail).

Warmest regards,

mahankel@ks
  -  

Hello Eifert,

it would be a tremendously big help to get a full list of the relevant Unreal Engine settings.
This would be awesome, when you could manage to put this together.



"
One more thing that may help: you could set these parameters dynamically based on the specific video being played. If I understood correctly, the settings behave “badly” with one set of virtual screen videos but “good” with another (likely due to differences in detail)."
No, unfortunately this is from the same video.

Best regards,
Marc

Eifert@Aximmetry
  -  

Hi,

Just a quick note: in your post, you listed r.Shadow.Virtual.ContactShadowLength=0.05, but that does not appear to be a valid console variable or command in Unreal Engine 5.6.


So, well, it turns out that the full list of the relevant Unreal Engine settings is way more than I ever thought. But anyway, with some AI help, we compiled a list. Below is a near-exhaustive classification of the Unreal Engine 5.6 CVars (Console Variables) that affect Shadow, Reflection, or Both.

    Included:
    direct shadow and reflection controls,
    feature-level quality, bias, culling, and denoising settings,
    feature-level debug and visualization settings,
    and shared backends that directly drive shadow or reflection features.

    Excluded:
    generic frame-wide settings such as AA and screen percentage,
    pure performance, memory, cache, and task-priority settings,
    AO-only settings,
    and non-rendering uses of the word “shadow,” such as replication, serialization, or UI text-shadow terms.

BOTH Shadow and Reflection Variables

1) Shared hardware ray tracing backend

Requires r.RayTracing=1 / r.RayTracing.Enable=1. These affect RT shadows and RT-backed reflections by controlling RT availability, culling, geometry participation, or biasing.

Core

r.RayTracing, r.RayTracing.Enable, r.RayTracing.AllowInline, r.RayTracing.AllowPipeline, r.RayTracing.AutoInstance, r.RayTracing.EnableMaterials, r.RayTracing.EnableOnDemand, r.RayTracing.ForceAllRayTracingEffects, r.RayTracing.Culling, r.RayTracing.Culling.Angle, r.RayTracing.Culling.PerInstance, r.RayTracing.Culling.Radius, r.RayTracing.Culling.UseGroupIds, r.RayTracing.Culling.UseMinDrawDistance, r.RayTracing.ExcludeDecals, r.RayTracing.ExcludeSky, r.RayTracing.ExcludeTranslucent, r.RayTracing.NormalBias, r.RayTracing.Scene.BuildMode, r.RayTracing.SceneCaptures, r.RayTracing.UseTextureLod, r.RayTracing.DebugDisableTriangleCull, r.RayTracing.DebugForceOpaque, r.RayTracing.RayTracingProxies.ProjectEnabled

Geometry participation

r.RayTracing.Geometry.Cable, r.RayTracing.Geometry.Cable.WPO, r.RayTracing.Geometry.Cable.WPO.Culling, r.RayTracing.Geometry.Cable.WPO.CullingRadius

r.RayTracing.Geometry.GeometryCache

r.RayTracing.Geometry.GeometryCollection, r.RayTracing.Geometry.GeometryCollection.CombinedBLAS, r.RayTracing.Geometry.GeometryCollection.ForceUpdate, r.RayTracing.Geometry.GeometryCollection.WPO

r.RayTracing.Geometry.HierarchicalInstancedStaticMesh

r.RayTracing.Geometry.InstancedStaticMeshes, r.RayTracing.Geometry.InstancedStaticMeshes.CullAngle, r.RayTracing.Geometry.InstancedStaticMeshes.CullClusterMaxRadiusMultiplier, r.RayTracing.Geometry.InstancedStaticMeshes.CullClusterRadius, r.RayTracing.Geometry.InstancedStaticMeshes.Culling, r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO, r.RayTracing.Geometry.InstancedStaticMeshes.LowScaleCullRadius, r.RayTracing.Geometry.InstancedStaticMeshes.LowScaleRadiusThreshold, r.RayTracing.Geometry.InstancedStaticMeshes.MinLOD, r.RayTracing.Geometry.InstancedStaticMeshes.SimulationClusterRadius, r.RayTracing.Geometry.InstancedStaticMeshes.SimulationCount

r.RayTracing.Geometry.Landscape, r.RayTracing.Geometry.Landscape.DetectTextureStreaming, r.RayTracing.Geometry.Landscape.FractionalLODUpdateThreshold, r.RayTracing.Geometry.Landscape.LODBias, r.RayTracing.Geometry.Landscape.LODsUpdateEveryFrame, r.RayTracing.Geometry.Landscape.SectionsPerSubsection, r.RayTracing.Geometry.Landscape.VertexMask

r.RayTracing.Geometry.LandscapeGrass

r.RayTracing.Geometry.NaniteProxies, r.RayTracing.Geometry.NaniteProxies.LODBias, r.RayTracing.Geometry.NaniteProxies.WPO, r.RayTracing.Geometry.NaniteSkinnedProxies

r.RayTracing.Geometry.NiagaraMeshes, r.RayTracing.Geometry.NiagaraRibbons, r.RayTracing.Geometry.NiagaraRibbons.GPU, r.RayTracing.Geometry.NiagaraSprites

r.RayTracing.Geometry.ProceduralMeshes

r.RayTracing.Geometry.SkeletalMeshes, r.RayTracing.Geometry.SkeletalMeshes.LODBias, r.RayTracing.Geometry.SupportSkeletalMeshes

r.RayTracing.Geometry.SplineMeshes, r.RayTracing.Geometry.SplineMeshes.ForceUpdate

r.RayTracing.Geometry.StaticMeshes, r.RayTracing.Geometry.StaticMeshes.WPO, r.RayTracing.Geometry.StaticMeshes.WPO.Culling, r.RayTracing.Geometry.StaticMeshes.WPO.CullingRadius

r.RayTracing.Geometry.Text

Nanite / proxy / hair RT helpers

r.RayTracing.Nanite.Mode, r.RayTracing.Nanite.CutError, r.RayTracing.Nanite.ForceUpdateVisible, r.RayTracing.Nanite.Update, r.StaticMesh.RayTracingProxies, r.HairStrands.Raytracing, r.HairStrands.RaytracingProceduralSplits, r.HairStrands.RaytracingRadiusScale, r.HairStrands.Strands.Raytracing.ForceRebuildBVH


2) Shared distance-field infrastructure

Used by distance-field shadows and by some Lumen reflection / Lumen offscreen shadow traces.

r.GenerateMeshDistanceFields, r.DistanceFields, r.DistanceFields.SupportEvenIfHardwareRayTracingSupported, r.StaticMesh.StripDistanceFieldDataDuringLoad



3) Shared Lumen HWRT / Mesh-SDF backend

Requires Lumen to be enabled; typically relevant when r.ReflectionMethod is Lumen and/or Lumen direct-lighting shadowing is active.

r.Lumen.HardwareRayTracing, r.Lumen.HardwareRayTracing.AvoidSelfIntersections, r.Lumen.HardwareRayTracing.FarFieldBias, r.Lumen.HardwareRayTracing.HitLighting.DirectLighting, r.Lumen.HardwareRayTracing.HitLighting.ReflectionCaptures, r.Lumen.HardwareRayTracing.HitLighting.ShadowMode, r.Lumen.HardwareRayTracing.HitLighting.ShadowTranslucencyMode, r.Lumen.HardwareRayTracing.HitLighting.Skylight, r.Lumen.HardwareRayTracing.Inline, r.Lumen.HardwareRayTracing.LightingMode, r.Lumen.HardwareRayTracing.MaxIterations, r.Lumen.HardwareRayTracing.MeshSectionVisibilityTest, r.Lumen.HardwareRayTracing.MinTraceDistanceToSampleSurfaceCache, r.Lumen.HardwareRayTracing.PullbackBias, r.Lumen.HardwareRayTracing.ShaderExecutionReordering, r.Lumen.HardwareRayTracing.SkipBackFaceHitDistance, r.Lumen.HardwareRayTracing.SkipTwoSidedHitDistance, r.Lumen.HardwareRayTracing.SurfaceCacheAlphaMasking, r.Lumen.HardwareRayTracing.SurfaceCacheSampling.DepthBias

r.Lumen.TraceMeshSDFs, r.Lumen.TraceMeshSDFs.Allow, r.Lumen.TraceMeshSDFs.TraceDistance


4) Path Tracer

Requires r.PathTracing=1. These are the path-tracing controls in your dump that directly change light transport, denoising, or visualization of the path-traced result, so they affect both shadows and reflections.

Core transport / sampling

r.PathTracing, r.PathTracing.AdaptiveSampling, r.PathTracing.AdaptiveSampling.ErrorThreshold, r.PathTracing.ApproximateCaustics, r.PathTracing.CameraMediumTracking, r.PathTracing.CloudMultipleScatterMode, r.PathTracing.CloudRoughnessCutoff, r.PathTracing.DecalRoughnessCutoff, r.PathTracing.EnableAtmosphereGround, r.PathTracing.EnableCameraBackfaceCulling, r.PathTracing.EnableEmissive, r.PathTracing.EnableReferenceAtmosphere, r.PathTracing.EnableReferenceClouds, r.PathTracing.Experimental, r.PathTracing.FilterWidth, r.PathTracing.FogDensityClamp, r.PathTracing.FrameIndependentTemporalSeed, r.PathTracing.LightFunctionColor, r.PathTracing.LightGridAxis, r.PathTracing.LightGridMaxCount, r.PathTracing.LightGridResolution, r.PathTracing.MaxBounces, r.PathTracing.MaxPathIntensity, r.PathTracing.MaxRaymarchSteps, r.PathTracing.MaxSSSBounces, r.PathTracing.MeshDecalBias, r.PathTracing.MeshDecalRoughnessCutoff, r.PathTracing.MISCompensation, r.PathTracing.MISMode, r.PathTracing.SamplerType, r.PathTracing.SamplesPerPixel, r.PathTracing.SkylightCaching, r.PathTracing.SSSGuidingRatio, r.PathTracing.TraceOpaqueFirst, r.PathTracing.UseAnalyticTransmittance, r.PathTracing.UseDBuffer, r.PathTracing.VisibleLights, r.PathTracing.VolumeMISMode

Denoising / material simplification / debug-visualization

r.PathTracing.AdaptiveSampling.Visualize, r.PathTracing.Debug, r.PathTracing.Denoiser, r.PathTracing.Denoiser.Name, r.PathTracing.Denoiser.NormalSpace, r.PathTracing.Denoiser.Prepass.OutputVarianceTexture, r.PathTracing.Denoiser.Prepass.RankedLuminanceVariance, r.PathTracing.Denoiser.Prepass.VarianceType, r.PathTracing.SpatialDenoiser, r.PathTracing.SpatialDenoiser.Type, r.PathTracing.Substrate.CompileSimplifiedMaterials, r.PathTracing.Substrate.UseSimplifiedMaterials, r.PathTracing.TemporalDenoiser, r.PathTracing.TemporalDenoiser.alpha, r.PathTracing.TemporalDenoiser.DeltaE, r.PathTracing.TemporalDenoiser.DeltaE.HighFrequency, r.PathTracing.TemporalDenoiser.DenoiseSourceImageFirst, r.PathTracing.TemporalDenoiser.DistanceMetrics, r.PathTracing.TemporalDenoiser.EnableSubPixelOffset, r.PathTracing.TemporalDenoiser.eta, r.PathTracing.TemporalDenoiser.kappa, r.PathTracing.TemporalDenoiser.mode, r.PathTracing.TemporalDenoiser.MotionOperation, r.PathTracing.TemporalDenoiser.MotionVector.Type, r.PathTracing.TemporalDenoiser.Name, r.PathTracing.TemporalDenoiser.PatchCount, r.PathTracing.TemporalDenoiser.source, r.PathTracing.TemporalDenoiser.SubPixelOffset.StartMip, r.PathTracing.TemporalDenoiser.TotalVariation, r.PathTracing.TemporalDenoiser.Type, r.PathTracing.TemporalDenoiser.VisualizeMotionVector, r.PathTracing.TemporalDenoiser.VisWarp, r.PathTracing.Visualize, r.PathTracing.Visualize.LightSamples


5) Mixed special case

r.VolumetricCloud.Shadow.ReflectionRaySampleMaxCount
(Cloud-shadow evaluation specifically for reflection rays, so it touches both.)



SHADOW only

1) Global / classic shadow-map controls

Applies when dynamic shadows are active; not VSM-specific.

Master / broad controls

sg.ShadowQuality, r.ShadowQuality, r.EarlyInitDynamicShadows, r.ForceLODShadow, r.AllowLandscapeShadows, r.AllowPointLightCubemapShadows, r.SupportPointLightWholeSceneShadows, r.MaxCSMRadiusToAllowPerObjectShadows, r.Cache.DrawDirectionalShadowing

Cache / atlas / update behavior

r.Shadow.AlwaysAllocateMaxResolutionAtlases, r.Shadow.CachedShadowsCastFromMovablePrimitives, r.Shadow.CachePreshadow, r.Shadow.CacheWholeSceneShadows, r.Shadow.CacheWPOPrimitives, r.Shadow.CSMCaching, r.Shadow.MaxNumPointShadowCacheUpdatesPerFrame, r.Shadow.MaxNumSpotShadowCacheUpdatesPerFrame, r.Shadow.WholeSceneShadowCacheMb, r.Shadow.WholeSceneShadowUnbuiltInteractionThreshold

Denoiser / filtering / resolution / fade

r.Shadow.Denoiser, r.Shadow.Denoiser.HistoryConvolutionSamples, r.Shadow.Denoiser.MaxBatchSize, r.Shadow.Denoiser.PreConvolution, r.Shadow.Denoiser.ReconstructionSamples, r.Shadow.Denoiser.TemporalAccumulation, r.Shadow.DistanceScale, r.Shadow.DoesFadeUseResolutionScale, r.Shadow.FadeExponent, r.Shadow.FadeResolution, r.Shadow.FilterMethod, r.Shadow.InsetDownscaleFactor, r.Shadow.MaxResolution, r.Shadow.MaxSoftKernelSize, r.Shadow.MinPreShadowResolution, r.Shadow.MinResolution, r.Shadow.PreShadowFadeResolution, r.Shadow.PreShadowResolutionFactor, r.Shadow.RadiusThreshold, r.Shadow.ResolutionScaleZeroDisablesSm, r.Shadow.TexelsPerPixel, r.Shadow.TexelsPerPixelPointlight, r.Shadow.TexelsPerPixelRectlight, r.Shadow.TexelsPerPixelSpotlight, r.Shadow.TransitionScale, r.Shadow.SpotLightTransitionScale

Per-light / per-object / preshadow / bias

r.Shadow.EnableModulatedSelfShadow, r.Shadow.ForceSerialSingleRenderPass, r.Shadow.ForceSingleSampleShadowingFromStationary, r.Shadow.PerObject, r.Shadow.PerObjectCastDistanceMin, r.Shadow.PerObjectCastDistanceRadiusScale, r.Shadow.PerObjectDirectionalDepthBias, r.Shadow.PerObjectDirectionalSlopeDepthBias, r.Shadow.PerObjectSpotLightDepthBias, r.Shadow.PerObjectSpotLightSlopeDepthBias, r.Shadow.PointLightDepthBias, r.Shadow.PointLightSlopeScaleDepthBias, r.Shadow.PreshadowExpand, r.Shadow.Preshadows, r.Shadow.PreshadowsForceLowestDetailLevel, r.Shadow.RectLightDepthBias, r.Shadow.RectLightReceiverBias, r.Shadow.RectLightSlopeScaleDepthBias, r.Shadow.SpotLightDepthBias, r.Shadow.SpotLightReceiverBias, r.Shadow.SpotLightSlopeDepthBias, r.Shadow.ShadowMaxSlopeScaleDepthBias, r.Shadow.UnbuiltNumWholeSceneDynamicShadowCascades, r.Shadow.UnbuiltPreviewInGame, r.Shadow.UnbuiltWholeSceneDynamicShadowRadius, r.Shadow.TranslucentPerObject.ProjectEnabled

Debug / culling / bookkeeping

r.Shadow.DrawPreshadowFrustums, r.Shadow.FreezeCamera, r.Shadow.LightViewConvexHullCull, r.Shadow.OcclusionCullCascadedShadowMaps, r.Shadow.OnePassPointLight.UseCachedMDCs, r.Shadow.RecordInteractionShadowPrimitives, r.Shadow.Scene.DebugDrawLightActiveStateTracking, r.Shadow.Scene.LightActiveFrameCount, r.shadow.ShadowMapsRenderEarly, r.Shadow.ShouldBeginDeferredCullingAfterShadowRendering, r.Shadow.StencilCulling, r.Shadow.StencilOptimization, r.Shadow.UseOctreeForCulling, r.Shadow.VisualizePrimitiveOctree


2) Cascaded shadow maps / far shadows

Requires traditional shadow maps / CSM path.

r.Shadow.CSM.MaxCascades, r.Shadow.CSM.TransitionScale, r.Shadow.CSMDepthBias, r.Shadow.CSMDepthBoundsTest, r.Shadow.CSMReceiverBias, r.Shadow.CSMScissorOptim, r.Shadow.CSMScrollingOverlapAreaThrottle, r.Shadow.CSMShadowDistanceFadeoutMultiplier, r.Shadow.CSMSlopeScaleDepthBias, r.Shadow.CSMSplitPenumbraScale, r.Shadow.FarShadow.LODDistanceFactor, r.Shadow.FarShadowDistanceOverride, r.Shadow.FarShadowStaticMeshLODBias, r.Shadow.LODDistanceFactor, r.Shadow.LODDistanceFactor.CascadeScale, r.Shadow.MaxCSMResolution, r.Shadow.MaxNumFarShadowCascades


3) Virtual Shadow Maps

Requires r.Shadow.Virtual.Enable=1.


Core / page pool / global behavior

r.Shadow.Virtual.Enable, r.Shadow.Virtual.AccumulateStats, r.Shadow.Virtual.AllocatePagePoolAsReservedResource, r.Shadow.Virtual.AllowScreenOverflowMessages, r.Shadow.Virtual.CullBackfacingPixels, r.Shadow.Virtual.DistantLightForceCacheFootprintFraction, r.Shadow.Virtual.DistantLightMode, r.Shadow.Virtual.DynamicHZB, r.Shadow.Virtual.DynamicRes.MaxPagePoolLoadFactor, r.Shadow.Virtual.DynamicRes.MaxResolutionLodBias, r.Shadow.Virtual.ForceFullHZBUpdate, r.Shadow.Virtual.ForceOnlyVirtualShadowMaps, r.Shadow.Virtual.ForcePerLightShadowMaskClear, r.Shadow.Virtual.MaxDistantUpdatePerFrame, r.Shadow.Virtual.MaxDOFResolutionBias, r.Shadow.Virtual.MaxPhysicalPages, r.Shadow.Virtual.NormalBias, r.Shadow.Virtual.ScreenRayLength, r.Shadow.Virtual.TranslucentQuality, r.Shadow.Virtual.UseConservativeDistantLightThreshold, r.Shadow.Virtual.UseFarShadowCulling, r.Shadow.Virtual.UseHZB, r.Shadow.Virtual.UseReceiverMaskDirectional, r.Shadow.Virtual.UseReceiverMaskLocal

Cache / invalidation

r.Shadow.Virtual.Cache, r.Shadow.Virtual.Cache.AllocateViaLRU, r.Shadow.Virtual.Cache.ClipmapPanning, r.Shadow.Virtual.Cache.CPUCullInvalidationsOutsideLightRadius, r.Shadow.Virtual.Cache.DebugSkipDynamicPageInvalidation, r.Shadow.Virtual.Cache.DebugSkipRevealedPrimitivesInvalidation, r.Shadow.Virtual.Cache.DeformableMeshesInvalidate, r.Shadow.Virtual.Cache.DrawInvalidatingBounds, r.Shadow.Virtual.Cache.ForceInvalidateDirectional, r.Shadow.Virtual.Cache.ForceInvalidateLocal, r.Shadow.Virtual.Cache.FramesStaticThreshold, r.Shadow.Virtual.Cache.InvalidateUseHZB, r.Shadow.Virtual.Cache.MaxLightAgeSinceLastRequest, r.Shadow.Virtual.Cache.MaxPageAgeSinceLastRequest

Clipmaps / coarse pages / page marking

r.Shadow.Virtual.Clipmap.CullDynamicTightly, r.Shadow.Virtual.Clipmap.FirstCoarseLevel, r.Shadow.Virtual.Clipmap.FirstLevel, r.Shadow.Virtual.Clipmap.LastCoarseLevel, r.Shadow.Virtual.Clipmap.LastLevel, r.Shadow.Virtual.Clipmap.MinCameraViewportWidth, r.Shadow.Virtual.Clipmap.UseConservativeCulling, r.Shadow.Virtual.Clipmap.WPODisableDistance, r.Shadow.Virtual.Clipmap.WPODisableDistance.InvalidateOnScaleChange, r.Shadow.Virtual.Clipmap.WPODisableDistance.LodBias, r.Shadow.Virtual.Clipmap.ZRangeScale, r.Shadow.Virtual.CoarsePagePixelThresholdDynamic, r.Shadow.Virtual.CoarsePagePixelThresholdDynamicNanite, r.Shadow.Virtual.CoarsePagePixelThresholdStatic, r.Shadow.Virtual.MarkCoarsePagesDirectional, r.Shadow.Virtual.MarkCoarsePagesLocal, r.Shadow.Virtual.MarkPagesUsingFroxels, r.Shadow.Virtual.MarkPixelPages, r.Shadow.Virtual.MarkPixelPagesMipModeLocal, r.Shadow.Virtual.PageDilationBorderSizeDirectional, r.Shadow.Virtual.PageDilationBorderSizeLocal, r.Shadow.Virtual.PageMarkingPixelStrideX, r.Shadow.Virtual.PageMarkingPixelStrideY, r.Shadow.Virtual.ResolutionLodBiasDirectional, r.Shadow.Virtual.ResolutionLodBiasDirectionalMoving, r.Shadow.Virtual.ResolutionLodBiasLocal, r.Shadow.Virtual.ResolutionLodBiasLocalMoving

Non-Nanite / Nanite / one-pass projection

r.Shadow.Virtual.Nanite.AllowMultipassViews, r.Shadow.Virtual.Nanite.MaterialVisibility, r.Shadow.Virtual.NonNanite.Batch, r.Shadow.Virtual.NonNanite.CulledInstanceAllocationFactor, r.Shadow.Virtual.NonNanite.IncludeInCoarsePages, r.Shadow.Virtual.NonNanite.LargeInstancePageAreaThreshold, r.Shadow.Virtual.NonNanite.MaxCulledInstanceAllocationSize, r.Shadow.Virtual.NonNanite.NumPageAreaDiagSlots, r.Shadow.Virtual.NonNanite.SinglePassBatched, r.Shadow.Virtual.NonNanite.UseHZB, r.Shadow.Virtual.NonNanite.UseRadiusThreshold, r.Shadow.Virtual.NonNaniteVSM, r.Shadow.Virtual.OnePassProjection, r.Shadow.Virtual.OnePassProjection.MaxLightsPerPixel, r.Shadow.Virtual.OnePassProjection.SkipScreenShadowMask

SMRT filtering

r.Shadow.Virtual.SMRT.AdaptiveRayCount, r.Shadow.Virtual.SMRT.ExtrapolateMaxSlopeDirectional, r.Shadow.Virtual.SMRT.ExtrapolateMaxSlopeLocal, r.Shadow.Virtual.SMRT.MaxRayAngleFromLight, r.Shadow.Virtual.SMRT.MaxSlopeBiasLocal, r.Shadow.Virtual.SMRT.RayCountDirectional, r.Shadow.Virtual.SMRT.RayCountLocal, r.Shadow.Virtual.SMRT.RayLengthScaleDirectional, r.Shadow.Virtual.SMRT.SamplesPerRayDirectional, r.Shadow.Virtual.SMRT.SamplesPerRayHair, r.Shadow.Virtual.SMRT.SamplesPerRayLocal, r.Shadow.Virtual.SMRT.TexelDitherScaleDirectional, r.Shadow.Virtual.SMRT.TexelDitherScaleLocal

Debug / visualization

r.Shadow.Virtual.DebugDrawFroxelRange, r.Shadow.Virtual.DebugDrawFroxels, r.Shadow.Virtual.DebugSkipMergePhysical, r.Shadow.Virtual.ShowClipmapStats, r.Shadow.Virtual.ShowLightDrawEvents, r.Shadow.Virtual.ShowStats, r.Shadow.Virtual.SubsurfaceShadowMinSourceAngle, r.Shadow.Virtual.Visualize, r.Shadow.Virtual.Visualize.Advanced, r.Shadow.Virtual.Visualize.Layout, r.Shadow.Virtual.Visualize.LightName, r.Shadow.Virtual.Visualize.ShowCachedPagesOnly

VSM-adjacent helpers

landscape.AllowNonNaniteVirtualShadowMapInvalidation, landscape.NonNaniteVirtualShadowMapInvalidationLODAttenuationExponent, landscape.OverrideNonNaniteVirtualShadowMapConstantDepthBiasOverride, landscape.OverrideNonNaniteVirtualShadowMapInvalidationHeightErrorThreshold, landscape.OverrideNonNaniteVirtualShadowMapInvalidationScreenSizeLimit, r.Ortho.VSM.ClipmapLODBias, r.Ortho.VSM.EstimateClipmapLevels, r.Ortho.VSM.ProjectViewOrigin, r.Ortho.VSM.RayCastViewOrigin, r.FirstPerson.Shadow.Virtual.Clipmap, r.FirstPerson.Shadow.Virtual.Clipmap.FirstLevel, r.FirstPerson.Shadow.Virtual.Clipmap.LastLevel, r.FirstPerson.Shadow.Virtual.Clipmap.PixelRequestBias, r.FirstPerson.Shadow.Virtual.Clipmap.RequestMinLevelClamp



4) Nanite shadow path

Requires r.Nanite=1; VSM/Nanite shadow path as applicable.

r.Shadow.Nanite, r.Shadow.NaniteLODBias, r.Shadow.NaniteUpdateStreaming, r.Shadow.NaniteUseHZB, r.Shadow.SkipCullingNaniteMeshes, r.Nanite.AsyncRasterization.ShadowDepths, r.Nanite.ShadowRaster.PixelsPerEdgeScaling, r.Nanite.ShadowRaster.TimeBudgetMs, r.Nanite.VSMInvalidateOnLODDelta



5) Distance-field / heightfield shadowing

Requires mesh distance fields and/or the relevant shadow feature.

r.DistanceFieldShadowing, r.DFShadow.TwoSidedMeshDistanceBiasScale, r.DFShadowAsyncCompute, r.DFShadowAverageObjectsPerCullTile, r.DFShadowCompactCulledObjects, r.DFShadowCullingSubsampleDepth, r.DFShadowCullTileWorldSize, r.DFShadowQuality, r.DFShadowScatterTileCulling

r.HeightFieldShadowing, r.HFShadowAverageObjectsPerCullTile, r.HFShadowQuality, r.Shadow.MinDirectionalLightAngleForRTHF



6) Contact / capsule / first-person shadow featuresContact shadows

r.ContactShadows, r.ContactShadows.Bend.OverrideSurfaceThickness, r.ContactShadows.Intensity.FadeLength, r.ContactShadows.Intensity.FadeStart, r.ContactShadows.Intensity.Mode, r.ContactShadows.NonShadowCastingIntensity, r.ContactShadows.OverrideLength, r.ContactShadows.OverrideLengthInWS, r.ContactShadows.OverrideNonShadowCastingIntensity, r.ContactShadows.OverrideShadowCastingIntensity, r.ContactShadows.Standalone.Method

Capsule shadows

r.CapsuleDirectShadows, r.CapsuleIndirectConeAngle, r.CapsuleIndirectShadows, r.CapsuleMaxDirectOcclusionDistance, r.CapsuleMaxIndirectOcclusionDistance, r.CapsuleMinSkyAngle, r.CapsuleShadowFadeAngleFromVertical, r.CapsuleShadows, r.CapsuleShadowsFullResolution, r.CapsuleSkyAngleScale

First-person self-shadow

r.FirstPerson.SelfShadow, r.FirstPerson.SelfShadow.BilateralFilterDepthThreshold, r.FirstPerson.SelfShadow.DownsampleCheckerboardMode, r.FirstPerson.SelfShadow.LightTypes, r.FirstPerson.SelfShadow.MaxHZBTraceIterations, r.FirstPerson.SelfShadow.MaxTraceDistance, r.FirstPerson.SelfShadow.MinimumHZBTraceOccupancy, r.FirstPerson.SelfShadow.RawFullResolution, r.FirstPerson.SelfShadow.RelativeDepthThickness



7) Hair / groom shadowing

Requires r.HairStrands.Enable=1.

r.HairStrands.DeepShadow.AABBScale, r.HairStrands.DeepShadow.DebugDOMIndex, r.HairStrands.DeepShadow.DebugDOMScale, r.HairStrands.DeepShadow.DebugMode, r.HairStrands.DeepShadow.DensityScale, r.HairStrands.DeepShadow.DepthBiasScale, r.HairStrands.DeepShadow.InjectVoxelDepth, r.HairStrands.DeepShadow.KernelAperture, r.HairStrands.DeepShadow.KernelType, r.HairStrands.DeepShadow.MaxFrustumAngle, r.HairStrands.DeepShadow.MinResolution, r.HairStrands.DeepShadow.MipTraversal, r.HairStrands.DeepShadow.RandomType, r.HairStrands.DeepShadow.Resolution, r.HairStrands.DeepShadow.ScreenTraceLength, r.HairStrands.DeepShadow.ShadowMaskKernelType, r.HairStrands.DeepShadow.ShadowMaskPassType, r.HairStrands.DeepShadow.SuperSampling, r.HairStrands.DeepShadow.UseScreenTrace

r.HairStrands.Shadow.CastShadowWhenNonVisible, r.HairStrands.Shadow.CullPerObjectShadowCaster, r.HairStrands.ShadowRasterizationScale

r.HairStrands.Visibility.NonVisibleShadowCasting.CullDistance, r.HairStrands.Visibility.NonVisibleShadowCasting.Debug

r.HairStrands.Voxelization.DensityScale.Shadow, r.HairStrands.Voxelization.DepthBiasScale.Shadow, r.HairStrands.Voxelization.ForceTransmittanceAndShadow, r.HairStrands.Voxelization.Raymarching.SteppingScale.Shadow


8) Volumetric / cloud / heterogeneous-volume shadowingVolumetric clouds

Requires r.VolumetricCloud=1.

r.SupportCloudShadowOnForwardLitTranslucent, r.VolumetricCloud.LocalLights.ShadowSampleCount, r.VolumetricCloud.Shadow.SampleAtmosphericLightShadowmap, r.VolumetricCloud.Shadow.ViewRaySampleMaxCount, r.VolumetricCloud.ShadowMap, r.VolumetricCloud.ShadowMap.Debug, r.VolumetricCloud.ShadowMap.LightDistanceOverride, r.VolumetricCloud.ShadowMap.MaxResolution, r.VolumetricCloud.ShadowMap.RaySampleHorizonMultiplier, r.VolumetricCloud.ShadowMap.RaySampleMaxCount, r.VolumetricCloud.ShadowMap.SnapLength, r.VolumetricCloud.ShadowMap.SnapToPixelGrid, r.VolumetricCloud.ShadowMap.SpatialFiltering, r.VolumetricCloud.ShadowMap.TemporalFiltering.LightRotationCutHistory, r.VolumetricCloud.ShadowMap.TemporalFiltering.NewFrameWeight

Heterogeneous volumes

Requires r.HeterogeneousVolumes=1.

r.HeterogeneousVolumes.MaxShadowTraceDistance, r.HeterogeneousVolumes.ShadowStepSize, r.HeterogeneousVolumes.Shadows, r.HeterogeneousVolumes.Shadows.AbsoluteErrorThreshold, r.HeterogeneousVolumes.Shadows.CameraDownsampleFactor, r.HeterogeneousVolumes.Shadows.DebugTweak, r.HeterogeneousVolumes.Shadows.Jitter, r.HeterogeneousVolumes.Shadows.LightType.Directional, r.HeterogeneousVolumes.Shadows.LightType.Point, r.HeterogeneousVolumes.Shadows.LightType.Rect, r.HeterogeneousVolumes.Shadows.LightType.Spot, r.HeterogeneousVolumes.Shadows.MaxSampleCount, r.HeterogeneousVolumes.Shadows.Mode, r.HeterogeneousVolumes.Shadows.NearClippingDistance, r.HeterogeneousVolumes.Shadows.OutOfFrustumShadingRate, r.HeterogeneousVolumes.Shadows.RelativeErrorThreshold, r.HeterogeneousVolumes.Shadows.Resolution, r.HeterogeneousVolumes.Shadows.ShadingRate, r.HeterogeneousVolumes.Shadows.StepSize, r.HeterogeneousVolumes.Shadows.UseAVSMCompression, r.HeterogeneousVolumes.Shadows.UseCameraSceneDepth

Atmosphere / translucent / fog receivers

r.SkyAtmosphere.SampleLightShadowmap, r.Translucent.UsesShadowedLocalLights, r.TranslucencyLightingVolume.InjectDirectionalLightCSM, r.VolumetricFog.InjectShadowedLightsSeparately



9) Single Layer Water shadowing

Requires r.Water.SingleLayer=1.

r.Water.SingleLayer.DistanceFieldShadow, r.Water.SingleLayer.ShadersSupportDistanceFieldShadow, r.Water.SingleLayer.ShadersSupportVSMFiltering, r.Water.SingleLayer.VSMFiltering, r.Water.SingleLayerWater.SupportCloudShadow


10) Mobile shadowing

Requires mobile renderer; some only matter on specific mobile shading paths.
NOTE: Since Aximmetry doesn't support running Unreal on your smartphone, these settings are not relevant to Aximmetry.

r.Mobile.AllowDistanceFieldShadows, r.Mobile.EnableCapsuleDirectShadows, r.Mobile.EnableCapsuleShadows, r.Mobile.EnableMovableLightCSMShaderCulling, r.Mobile.EnableMovablePointLightsShadows, r.Mobile.EnableMovableSpotlightsShadow, r.Mobile.EnableStaticAndCSMShadowReceivers, r.Mobile.MaxVisibleMovableSpotLightShadows, r.Mobile.Shadow.CSMShaderCullingDebugGfx, r.Mobile.Shadow.CSMShaderCullingMethod, r.Mobile.ShadowmapRoundUpToPowerOfTwo, r.Mobile.SupportInsetShadows, r.Mobile.UseCSMShaderBranch


11) Lumen direct-light shadowing

Requires Lumen scene/direct-lighting use; also uses the shared Lumen HWRT/Mesh-SDF backend listed above.

r.LumenScene.DirectLighting, r.LumenScene.DirectLighting.BatchShadows, r.LumenScene.DirectLighting.CloudTransmittance, r.LumenScene.DirectLighting.CullToTileDepthRange, r.LumenScene.DirectLighting.GlobalSDF.ShadowRayBias, r.LumenScene.DirectLighting.HardwareRayTracing, r.LumenScene.DirectLighting.HardwareRayTracing.AdaptiveShadowTracing, r.LumenScene.DirectLighting.HardwareRayTracing.EndBias, r.LumenScene.DirectLighting.HardwareRayTracing.FarField, r.LumenScene.DirectLighting.HardwareRayTracing.ForceTwoSided, r.LumenScene.DirectLighting.HardwareRayTracing.HeightfieldProjectionBias, r.LumenScene.DirectLighting.HardwareRayTracing.HeightfieldProjectionBiasSearchRadius, r.LumenScene.DirectLighting.HardwareRayTracing.ShadowRayBias, r.LumenScene.DirectLighting.Heightfield.ShadowRayBias, r.LumenScene.DirectLighting.MaxLightsPerTile, r.LumenScene.DirectLighting.MeshSDF.ShadowRayBias, r.LumenScene.DirectLighting.OffscreenShadowing.TraceMeshSDFs, r.LumenScene.DirectLighting.OffscreenShadowingTraceStepFactor, r.LumenScene.DirectLighting.Stochastic, r.LumenScene.DirectLighting.Stochastic.Debug, r.LumenScene.DirectLighting.Stochastic.MinWeight, r.LumenScene.DirectLighting.Stochastic.SamplePerTexel, r.LumenScene.DirectLighting.Stochastic.Temporal, r.LumenScene.DirectLighting.Stochastic.Temporal.MaxFramesAccumulated, r.LumenScene.DirectLighting.Stochastic.Temporal.NeighborhoodClampScale, r.LumenScene.DirectLighting.UpdateFactor



12) MegaLights shadowed direct lighting


Requires r.MegaLights.EnableForProject=1 and r.MegaLights.Allowed=1.

Master / debug

r.MegaLights.Allowed, r.MegaLights.EnableForProject, r.MegaLights.DefaultShadowMethod, r.MegaLights.DirectionalLights, r.MegaLights.DownsampleFactor, r.MegaLights.FixedStateFrameIndex, r.MegaLights.Reset, r.MegaLights.ResetEveryNthFrame, r.MegaLights.Debug, r.MegaLights.Debug.CursorX, r.MegaLights.Debug.CursorY, r.MegaLights.Debug.LightId, r.MegaLights.Debug.TraceStats, r.MegaLights.Debug.VisualizeLight

History / spatial / temporal

r.MegaLights.GuideByHistory, r.MegaLights.GuideByHistory.AreaLightHiddenWeight, r.MegaLights.GuideByHistory.Filter, r.MegaLights.GuideByHistory.VisibleSamplePercentage, r.MegaLights.Spatial, r.MegaLights.Spatial.DepthWeightScale, r.MegaLights.Spatial.KernelRadius, r.MegaLights.Spatial.MaxDisocclusionFrames, r.MegaLights.Spatial.NumSamples, r.MegaLights.Temporal, r.MegaLights.Temporal.MaxFramesAccumulated, r.MegaLights.Temporal.MinFramesAccumulatedForHighConfidence, r.MegaLights.Temporal.MinFramesAccumulatedForHistoryMiss, r.MegaLights.Temporal.NeighborhoodClampScale

Trace method / quality

r.MegaLights.ScreenTraces, r.MegaLights.ScreenTraces.MaxDistance, r.MegaLights.ScreenTraces.MaxIterations, r.MegaLights.ScreenTraces.MinimumOccupancy, r.MegaLights.ScreenTraces.RelativeDepthThickness, r.MegaLights.WorldSpaceTraces, r.MegaLights.HardwareRayTracing, r.MegaLights.HardwareRayTracing.AvoidSelfIntersections, r.MegaLights.HardwareRayTracing.Bias, r.MegaLights.HardwareRayTracing.EndBias, r.MegaLights.HardwareRayTracing.EvaluateMaterialMode, r.MegaLights.HardwareRayTracing.FarField, r.MegaLights.HardwareRayTracing.FarField.Bias, r.MegaLights.HardwareRayTracing.FarField.MaxDistance, r.MegaLights.HardwareRayTracing.Inline, r.MegaLights.HardwareRayTracing.MaxIterations, r.MegaLights.HardwareRayTracing.MeshSectionVisibilityTest, r.MegaLights.HardwareRayTracing.NormalBias, r.MegaLights.HardwareRayTracing.PullbackBias, r.MegaLights.SoftwareRayTracing.Allow, r.MegaLights.WaveOps

Shading inputs / limits

r.MegaLights.IESProfiles, r.MegaLights.LightFunctions, r.MegaLights.LightingChannels, r.MegaLights.TexturedRectLights, r.MegaLights.MaxShadingWeight, r.MegaLights.MinSampleWeight, r.MegaLights.NumSamplesPerPixel, r.MegaLights.ShadingConfidence

Hair / translucency / volume

r.MegaLights.HairStrands, r.MegaLights.HairStrands.Debug, r.MegaLights.HairStrands.DownsampleFactor, r.MegaLights.HairStrands.NumSamplesPerPixel, r.MegaLights.HairStrands.ScreenTraces, r.MegaLights.HairVoxelTraces

r.MegaLights.TranslucencyVolume, r.MegaLights.TranslucencyVolume.Debug, r.MegaLights.TranslucencyVolume.DownsampleFactor, r.MegaLights.TranslucencyVolume.GuideByHistory, r.MegaLights.TranslucencyVolume.GuideByHistory.Filter, r.MegaLights.TranslucencyVolume.GuideByHistory.VisibleSamplePercentage, r.MegaLights.TranslucencyVolume.LightFunctions, r.MegaLights.TranslucencyVolume.MaxShadingWeight, r.MegaLights.TranslucencyVolume.MinSampleWeight, r.MegaLights.TranslucencyVolume.NumSamplesPerVoxel

r.MegaLights.Volume, r.MegaLights.Volume.Debug, r.MegaLights.Volume.DebugSliceIndex, r.MegaLights.Volume.DownsampleFactor, r.MegaLights.Volume.GuideByHistory, r.MegaLights.Volume.GuideByHistory.Filter, r.MegaLights.Volume.GuideByHistory.VisibleSamplePercentage, r.MegaLights.Volume.HZBOcclusionTest, r.MegaLights.Volume.LightFunctions, r.MegaLights.Volume.MaxShadingWeight, r.MegaLights.Volume.MinSampleWeight, r.MegaLights.Volume.NumSamplesPerVoxel, r.MegaLights.Volume.WorldSpaceTraces



13) Misc scene/component shadow helpers

foliage.ApplyViewOcclusionCullToShadow, grass.DisableDynamicShadows, landscape.EnableGPUCullingShadows, r.HLOD.ForceDisableCastDynamicShadow, wp.Runtime.HLOD.ForceDisableShadows, r.GC.ISMPool.ShadowCopyCustomData, r.ISMPool.ShadowCopyCustomData


14) Shadow show flags / visualization only

ShowFlag.CapsuleShadows, ShowFlag.ContactShadows, ShowFlag.DebugDrawDistantVirtualSMLights, ShowFlag.DynamicShadows, ShowFlag.PreviewShadowsIndicator, ShowFlag.RayTracedDistanceFieldShadows, ShowFlag.ShadowFrustums, ShowFlag.VirtualShadowMapPersistentData, ShowFlag.VisualizeVirtualShadowMap



REFLECTION only

1) Global reflection system / method

sg.ReflectionQuality, r.ReflectionMethod, r.DoTiledReflections, r.Reflections.Denoiser, r.Reflections.Denoiser.PreConvolution, r.Reflections.Denoiser.ReconstructionSamples, r.Reflections.Denoiser.TemporalAccumulation


2) Reflection environment / captures / skylight

Requires reflection environment / reflection captures / skylight capture usage. Some are deferred-only; some are forward- or skylight-specific.

Reflection environment / capture controls

r.ReflectionCapture.EnableDeferredReflectionsAndSkyLighting, r.ReflectionCapture.EnableLightFunctions, r.ReflectionCaptureResolution, r.ReflectionCaptureSupersampleFactor, r.ReflectionCaptureUpdateEveryFrame, r.ReflectionEnvironment, r.ReflectionEnvironmentBeginMixingRoughness, r.ReflectionEnvironmentEndMixingRoughness, r.ReflectionEnvironmentLightmapMixBasedOnRoughness, r.ReflectionEnvironmentLightmapMixing, r.ReflectionEnvironmentLightmapMixLargestWeight, r.chaos.ReflectionCaptureStaticSceneOnly

Skylight real-time reflection capture

r.SkyLight.CubemapMaxResolution, r.SkyLight.RealTimeReflectionCapture, r.SkyLight.RealTimeReflectionCapture.AlwaysClearColorBuffer, r.SkyLight.RealTimeReflectionCapture.DepthBuffer, r.SkyLight.RealTimeReflectionCapture.DisableExpenssiveCaptureMessage, r.SkyLight.RealTimeReflectionCapture.ResolutionOverride, r.SkyLight.RealTimeReflectionCapture.ShadowFromOpaque, r.SkyLight.RealTimeReflectionCapture.TimeSlice, r.SkyLight.RealTimeReflectionCapture.TimeSlice.SkyCloudCubeFacePerFrame, r.SkyLight.RealTimeReflectionCapture.VolumetricCloudResolutionDivider, r.SkylightCapture.LODDistanceScale, r.SkylightUpdateEveryFrame

Forward-shading / VRS helpers

r.ForwardShading.ForceSkyLightCubemapBlending, r.VRS.ReflectionEnvironmentSky



3) Screen Space Reflections (SSR)

Desktop deferred SSR path.

r.SSR.Compute, r.SSR.ExperimentalDenoiser, r.SSR.HalfResSceneColor, r.SSR.MaxRoughness, r.SSR.Quality, r.SSR.Stencil, r.SSR.Temporal, r.SSR.TiledComposite, r.SSR.TiledComposite.MinSpecular, r.SSR.TiledComposite.OverrideMaxRoughness, r.SSR.TiledComposite.TwoSidedFoliage, r.SSR.TiledComposite.Visualize, r.VRS.SSR



4) Mobile reflections


Requires mobile renderer; path depends on mobile shading setup.
NOTE: Since Aximmetry doesn't support running Unreal on your smartphone, these settings are not relevant to Aximmetry.

r.Mobile.Forward.EnableClusteredReflections, r.Mobile.ScreenSpaceReflections, r.Mobile.ScreenSpaceReflections.Intensity



5) Lumen reflections

Requires r.ReflectionMethod = Lumen / Lumen reflections enabled. Shared Lumen HWRT/Mesh-SDF backend knobs are in the Both section.

Core

r.Lumen.Reflections.Allow, r.Lumen.Reflections.AsyncCompute, r.Lumen.Reflections.Contrast, r.Lumen.Reflections.Debug, r.Lumen.Reflections.DenoiserTonemapRange, r.Lumen.Reflections.DownsampleCheckerboard, r.Lumen.Reflections.DownsampleFactor, r.Lumen.Reflections.FixedStateFrameIndex, r.Lumen.Reflections.GGXSamplingBias, r.Lumen.Reflections.HiResSurface, r.Lumen.Reflections.MaxBounces, r.Lumen.Reflections.MaxRayIntensity, r.Lumen.Reflections.MaxRoughnessToTrace, r.Lumen.Reflections.MaxRoughnessToTraceClamp, r.Lumen.Reflections.MaxRoughnessToTraceForFoliage, r.Lumen.Reflections.RoughnessFadeLength, r.Lumen.Reflections.SmoothBias, r.Lumen.Reflections.SpecularScale, r.Lumen.Reflections.SurfaceCacheFeedback, r.Lumen.Reflections.TraceMeshSDFs

Bilateral / reconstruction / temporal

r.Lumen.Reflections.BilateralFilter, r.Lumen.Reflections.BilateralFilter.DepthWeightScale, r.Lumen.Reflections.BilateralFilter.KernelRadius, r.Lumen.Reflections.BilateralFilter.NumSamples

r.Lumen.Reflections.ScreenSpaceReconstruction, r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius, r.Lumen.Reflections.ScreenSpaceReconstruction.MinWeight, r.Lumen.Reflections.ScreenSpaceReconstruction.NumSamples, r.Lumen.Reflections.ScreenSpaceReconstruction.RoughnessScale

r.Lumen.Reflections.Temporal, r.Lumen.Reflections.Temporal.DistanceThreshold, r.Lumen.Reflections.Temporal.MaxFramesAccumulated, r.Lumen.Reflections.Temporal.MaxRayDirections, r.Lumen.Reflections.Temporal.NeighborhoodClampScale

Screen traces / distant traces / hierarchical traces

r.Lumen.Reflections.ScreenTraces, r.Lumen.Reflections.DistantScreenTraces, r.Lumen.Reflections.DistantScreenTraces.DepthThreshold, r.Lumen.Reflections.DistantScreenTraces.MaxTraceDistance, r.Lumen.Reflections.DistantScreenTraces.StepOffsetBias

r.Lumen.Reflections.HierarchicalScreenTraces.HistoryDepthTestRelativeThickness, r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations, r.Lumen.Reflections.HierarchicalScreenTraces.MinimumOccupancy, r.Lumen.Reflections.HierarchicalScreenTraces.RelativeDepthThickness

Hit shading / HWRT reflection-specific controls

r.Lumen.Reflections.HairStrands.ScreenTrace, r.Lumen.Reflections.HairStrands.VoxelTrace

r.Lumen.Reflections.HardwareRayTracing, r.Lumen.Reflections.HardwareRayTracing.Bias, r.Lumen.Reflections.HardwareRayTracing.BucketMaterials, r.Lumen.Reflections.HardwareRayTracing.FarField, r.Lumen.Reflections.HardwareRayTracing.FirstPersonMinimumHitDistance, r.Lumen.Reflections.HardwareRayTracing.HitLighting, r.Lumen.Reflections.HardwareRayTracing.NormalBias, r.Lumen.Reflections.HardwareRayTracing.Translucent.MaxRefractionBounces, r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject

Sampling / scene-color reuse / radiance cache

r.Lumen.Reflections.FarField.SampleSceneColorNormalTreshold, r.Lumen.Reflections.FarField.SampleSceneColorRelativeDepthThickness, r.Lumen.Reflections.SampleSceneColorAtHit, r.Lumen.Reflections.SampleSceneColorNormalTreshold, r.Lumen.Reflections.SampleSceneColorRelativeDepthThickness

r.Lumen.Reflections.RadianceCache, r.Lumen.Reflections.RadianceCache.MaxRoughness, r.Lumen.Reflections.RadianceCache.MaxTraceDistance, r.Lumen.Reflections.RadianceCache.MinRoughness, r.Lumen.Reflections.RadianceCache.MinTraceDistance, r.Lumen.Reflections.RadianceCache.ReprojectionRadiusScale, r.Lumen.Reflections.RadianceCache.RoughnessFadeLength, r.Lumen.Reflections.RadianceCache.StochasticInterpolation

Trace compaction / visualization

r.Lumen.Reflections.TraceCompaction.GroupSizeInTraceTiles, r.Lumen.Reflections.TraceCompaction.WaveOps, r.Lumen.Reflections.VisualizeTraces, r.Lumen.Reflections.VisualizeTracingCoherency

Lumen translucency reflections

r.Lumen.TranslucencyReflections.ClipmapFadeSize, r.Lumen.TranslucencyReflections.FrontLayer.Allow, r.Lumen.TranslucencyReflections.FrontLayer.DepthThreshold, r.Lumen.TranslucencyReflections.FrontLayer.Enable, r.Lumen.TranslucencyReflections.FrontLayer.EnableForProject, r.Lumen.TranslucencyReflections.HZBOcclusionTest, r.Lumen.TranslucencyReflections.MarkDownsampleFactor, r.Lumen.TranslucencyReflections.RadianceCache, r.Lumen.TranslucencyReflections.ReprojectionRadiusScale


6) Single Layer Water reflections

Requires r.Water.SingleLayer=1.

r.Water.SingleLayer.Reflection, r.Water.SingleLayer.Reflection.Denoising, r.Water.SingleLayer.Reflection.DownsampleCheckerboard, r.Water.SingleLayer.Reflection.DownsampleFactor, r.Water.SingleLayer.Reflection.ScreenSpaceReconstruction, r.Water.SingleLayer.SSRTAA


7) Misc reflection-specific extras

r.VolumetricCloud.ReflectionRaySampleMaxCount, r.RayTracedTranslucency.SampleTranslucentReflectionInReflections


8) Reflection show flags / visualization only

ShowFlag.ReflectionEnvironment, ShowFlag.ReflectionOverride, ShowFlag.ScreenSpaceReflections, ShowFlag.LumenReflections, ShowFlag.VisualizeSSR

Eifert@Aximmetry
  -  

Hi,

Honestly, this didn’t make things any easier. So here’s a shorter list focused only on Lumen Reflections settings that I would suggest testing, as your issue is about Lumen's reflection:

  1. r.Lumen.Reflections.ScreenTraces (you already tried this)

  2. Lumen HWRT settings
    r.Lumen.Reflections.HardwareRayTracing* and r.Lumen.HardwareRayTracing* families, plus: Support Hardware Ray Tracing, Use Hardware Ray Tracing when available, and Ray Lighting Mode = Hit Lighting for Reflections. Hit Lighting for Reflections is the highest-quality Lumen reflection mode.

  3. r.Lumen.Reflections.Temporal.*
    These are history accumulation / temporal stability controls. Epic’s UE 5.6 notes mention work on the Lumen Reflection Denoiser and improved temporal stability for rough specular. More temporal accumulation can reduce crawling, but it may introduce more ghosting/trailing.

  4. r.Lumen.Reflections.BilateralFilter.* and r.Lumen.Reflections.ScreenSpaceReconstruction.*
    These are the next best “anti-noise / anti-rawness” controls from your list. They’re part of the denoiser/reconstruction pipeline, so they’re the right place to look when reflections feel grainy, blocky, or under-reconstructed during motion.
    Expect the usual tradeoff: more stability, more blur.

  5. r.Lumen.Reflections.DownsampleFactor and r.Lumen.Reflections.DownsampleCheckerboard
    If the artifact reads more like pixelation/chunkiness than simple noise, these are worth testing early. They’re the right family for reflections that look too coarse or “raw.”
    They can get expensive on the GPU, so I’d test them after screen traces and HWRT are confirmed. (Epic docs)

  6. r.Lumen.Reflections.MaxRoughnessToTrace and r.Lumen.Reflections.RoughnessFadeLength
    These matter most when the problematic surface is glossy / semi-rough (not a perfect mirror). Epic notes that increasing Max Roughness To Trace keeps dedicated reflection rays on rougher surfaces, but at a high cost. In practice, this can become a detail vs. stability tradeoff: for noisy glossy floors, lowering the traced roughness can sometimes look calmer because the result becomes blurrier and less “busy.”

  7. r.Lumen.Reflections.MaxRayIntensity and r.Lumen.Reflections.DenoiserTonemapRange
    Very bright/high-contrast reflected content can stress the denoiser, and Epic notes explicitly mention bright spots causing high error in the Lumen reflection denoiser.
    Treat these as secondary “cleanup” controls rather than a first-line fix.

Warmest regards,

mahankel@ks
  -  

@Eifert

What can I say!? Send me your "Buy me a coffee" or "Buy me a beer" link. :D (Seriously!)
Thanks so much for putting that together for me. Hopefully a lot of people thind this thread as useful like me.

Have a great weekend and 'Best regards'
Marc