This is expected. It would be unreasonable to track the relationship between every shadow castor’s CPU culling and every shadow page or even clipmap. Shadow distances are not meant to be set so close that obvious popping is noticeable in the first place.
Note this will not occur with Nanite objects, as those - by design - do not respect the old CPU shadow culling distances.
When a sufficiently large object casts shadows near the Directional Light's Dynamic Shadow Distance range, the VSM pages are inconsistent in their shadowing - some will choose to shadow per-pixel, while others will pop based on the caster distance.
The per-pixel shadowing is due to clipmap radii, rather than the actual Dynamic Shadow Distance.
1. Download the attached test project and open.
2. Execute the following command to place the camera within the Dynamic Shadow Distance range. "BugItGo 12670.862583 13280.414139 13709.718215 -37.788929 -144.798174 -0.000001"
3. Move the camera backwards away from the landscape, and, when the shadow is completely gone, back towards the landscape.
4. Observe how some pages cut the shadow off per-pixel, while some pages pop in and out.
5. Execute the console command "r.Shadow.Virtual.Cache 0"
6. Repeat steps 2 and 3
7. Observe how the shadow now pops in all at once.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-366232 in the post.
| 0 |
| Component | UE - Rendering - Graphics Features - Shadows |
|---|---|
| Affects Versions | 5.7, 5.7.3 |
| Target Fix | 5.8 |
| Created | Feb 17, 2026 |
|---|---|
| Resolved | Feb 23, 2026 |
| Updated | May 4, 2026 |