Spotlight Issues with Virtual Shadow Maps - Mosaic Artifacts

Thanks for the repro. The spotlight case is caused by the approximation that decides if a light should be considered “distant”, which forces it to the lowest resolution mips. In this case it’s a poor approximation to the long skinny cone coming near the camera. Switching to a more conservative approximation via “r.Shadow.Virtual.UseConservativeDistantLightThreshold 1” will fix these cases. This is probably something we’ll enable by default soon but just haven’t gotten around to doing enough testing. If you run into issues with it, please let us know!

Low res shadows on forward shaded translucent objects is “expected” in various cases, as these objects do not mark high res VSM pages by default. As your scene demonstrates, if there happen to be opaque objects near them they will get a higher res shadow due to those objects marking the relevant pages. Forwarded shaded translucency also does not get any shadow filtering as it is very expensive in forward shading.

There is a mode - r.Shadow.Virtual.TranslucentQuality 1 - that will force front layer deferred transparency and filtering on forward rendered VSM shadows, but it is extremely expensive, and it’s a read-only cvar that has to be changed globally since it affects shaders and permutations. It’s meant more for offline stuff.