Baked Light Lost when Level Streaming in Packaged Build

Summary

After setting some CVars to avoid GC stutter in streaming, lightmap won’t apply when sub level is streamed out and back again.

What Type of Bug are you experiencing?

Rendering (Graphics / Niagara)

Steps to Reproduce

  • Create a none-worldpartition level, drag some static things and stationary spot lights in sublevel and bake light
  • Set LevelStreaming.ShouldReuseUnloadedButStillAroundLevels=true
  • Set s.ContinuouslyIncreamentalGCWhileLevelsPendingPurge=9
  • Set s.ForceGCAfterLevelStreamedOut=0
  • Play in packaged build. Let the sublevel streamed in and out and in again.

Expected Result

Lightmap for sublevels can be applied as the first time streamed in.

Observed Result

Lightmap for sublevels disappears and seems to backend to dynamic lighting in the second streaming in process.

Affects Versions

5.8
5.7

Platform(s)

Android
Windows

I would like to add more information to this topic. I built a simple scene which contains no directional light. This scene only has some static meshes and some stationary spot lights. all of those visible things are in sublevel.
The scene looks as the image after bake light:

Nothing goes wrong in PIE.
But when it comes to Package Shipping Build(and in Development Build), the issue shows up.

The first stream in looks fine enough:

The second stream in makes the shadow break:

Or at least I want to know how lightmap and shadowmap works in code so that I can modify the code by myself.