GPU Lightmass fails to work with stationary lights since Unreal 5.5

Since Unreal 5.5 stationary lights have stopped working with GPU lightmass unless Virtual Shadows are enabled.

If you enable Virtual Shadow Maps on the project, GPU lightmass works, but if you use Cascade Shadowmaps it seems like stationary lights stop producing its direct component after the bake finishes.

This issue does not happen with CPU lightmass.

5.4 Result:

[Image Removed]

5.5 Result:

[Image Removed]

Steps to Reproduce
Open the “GPULightmassIssue 5.5” project using Unreal 5.5.

Simply build lighting using GPU lightmass and you will see that the stationary spotlight stops producing direct light.

Hi,

thanks for reporting this issue and providing an easy repro project. I could reproduce the issue in 5.5, but could not reproduce it anymore in 5.6, so it seems to have been fixed. Can you please confirm that?

I have filed a bug report with Epic as a 5.5 specific issue and will post back here when it has been added to the public issue tracker or if there is a specific commit that fixes the issue.

Thanks,

Sam

Hi,

no worries, I will post here again once there is a bug link.

| Meanwhile I will try to continue investigating and report if I have new info.

That would be great, thanks!

Sam

Hi,

the issue is public now at this link. Thanks again for reporting this.

Sam

Hi,

thanks for the update. It’s great to hear the patch fixes the issue. I will pass it on to Epic.

Best regards,

Sam

Will download 5.6 and try today.

In 5.6 what I’ve encountered using the same project is sometimes it works sometimes it does not.

In my tests the first time it worked flawlessly, then I tried to regenerate lightmaps and it failed.

And in this video for instance it did not work the first time, but then the second time it did.

I’m gonna attach here and down below the example of 5.6 and directly in editor by turning VSM on an off the issue can be seen.

One interesting point is that it seems to only be affecting one of the faces of the pointlight.

Attached full scene example:

Pointlight example:

And here is the 5.6 failing project.

( Sorry for all these replies, as UDN unfortunately only allows for 1 attachment per reply, next time will try to zip them all together )

Adding some extra info, once the lightmap is built, changing between VSM and Cascade I see this difference in code paths:

[Image Removed]

This difference, that being said, also happens in CPU Lightmass, which makes me think that actual ShadowMap in that channel ( channel 0 ) might be incorrectly generated in GPU lightmass and is simply not used when VSM are active as that bNonNaniteVirutalShadowMaps will return true, so INDEX_NONE will be used instead.

Some extra info in case it help, when working with CPU lightmass and then capturing with render doc, this is what I see in the BasePass:

[Image Removed]

And then after doing the GPU lightmass pass, this is what I see on the BasePass:

[Image Removed]

As you can see in the GPU lightmass situation, it seems like the ShadowMap is completely black, and actually the resource is not even named “ShadowMapTexture2D” nor has the proper resolution.

Hope this helps.

Hi,

Thanks for the additional information and RenderDoc screengrabs. This can be useful in narrowing down the cause. Thanks to the new repro, I have been able to repro the GPU Lightmass issue in 5.6 and passed that on to Epic.

Best,

Sam

Perfect, let me know once there is a public issue ticket.

Meanwhile I will try to continue investigating and report if I have new info.

Ok, we might be in luck.

I just tried the patch from this post and I confirm it fixes the issue:

https://forums.unrealengine.com/t/epics-gpulightmass/139357/668

So I don’t know how easy it would be for Epic to integrate this into a hotfix for 5.6 or into 5.7?