Finding actors that invalidate VSM cache in Unreal Engine

Hello everyone,

I’m working on a project with numerous actors in my levels and I’m encountering an issue with the VSM cache. I’m looking for an effective way to identify the specific actors that invalidate this cache in certain areas.

I’m already familiar with the Nanite visualization tools in the viewport that help identify meshes using World Position Offset, etc. However, in complex levels with many actors, it becomes really tedious to precisely identify which actor is responsible for invalidating the VSM cache in a particular area.

Is there a tool that I might have missed that would directly highlight problematic actors?

Thanks in advance for your suggestions!

Best,

Raphael

Hello,

Thank you for reaching out.

I’ve been assigned this issue, and we will be looking into showing the objects invalidating the VSM cache for you.

Hello,

The tool for identifying which objects are invalidating VSMs (“r.Shadow.Virtual.Cache.DrawInvalidatingBounds”) has issues in 5.4 and 5.5.

The public tracker for this bug can be found here:

https://issues.unrealengine.com/issue/UE-217513

The following functions are responsible for adding primitives to the invalidation list:

  • “FVirtualShadowMapPerLightCacheEntry::OnPrimitiveRendered(…)”
  • “FVirtualShadowMapArrayCacheManager::FShadowInvalidatingInstancesImplementation::AddInstanceRange(…)”

Please let us know if this helps.