Composure Shadow/Reflection Catcher Layer produces no shadow from local lights

The Shadow Reflection Catcher layer only produces a usable matte from directional lights. Shadows cast by point, spot and rect lights either never appear in the matte or appear intermittently. Adding a directional light to the scene makes a shadow appear, but that shadow is the directional’s - the rect lights still contribute nothing.

Confirmed on our setup, in a level with no directional light present at all, so the shadow being produced is unambiguously the rect light’s. Both of these make it appear:

r.Shadow.Virtual.Cache.ForceInvalidateLocal 2 r.Shadow.Virtual.Cache.ForceInvalidateLocal 1

Both feed bForceInvalidate at ShadowSceneRenderer.cpp:403-411 and cause the local light’s virtual shadow map to be re-rendered per render rather than reused from the scene-level cache, which is the behaviour the layer needs. r.Shadow.Virtual.Cache 0 reaches the same path via bForceInvalidate = !CacheManager->IsCacheEnabled().

Directional lights get a distinct cache entry per view state and are re-rendered per capture, which is why adding one appears to fix the layer.

[Attachment Removed]

Steps to Reproduce

  1. New level. Lumen and VSM at defaults. One floor plane.
  2. Add a Composite actor with a Plate layer and a Shadow Reflection Catcher layer.
  3. Add a static mesh above the floor and register it in the catcher’s Actors list.
  4. Light the floor with rect lights only. Confirm there is no directional light in the level.
  5. Look at the catcher’s contribution to the composite.
    [Attachment Removed]

Using the Cvar r.MegaLights.EnableForProject=True in the Cvar window I am able to see multiple lights rec and spot contributing to the Shadow Reflection Catcher in Composure. (if using the command line for cvars then is =1 for true and =0 for false)

I have composite mesh set as the floor with video feed from a camera projected on it. Piloted cinecamera is pointed at the floor. Here is set of images. Showing the diffferent light setups and the shadow contribution from each.

NO Lights

[Image Removed]

Directional light only [Image Removed]Spotlight only

[Image Removed]Rec Light Only

[Image Removed]

Spot and Rec Light

[Image Removed]If I change back to r.MegaLights.EnableForProject=False in the Cvar window then I don’t see the different lights contributing other than directional light.

[Attachment Removed]