Niagara GeometryCacheComponents dirties dynamic nav-mesh

Our project is using runtime-generated nav-mesh (RuntimeGeneration=Dynamic). I noticed that our navigation tiles were being marked dirty when we played our blood splatter FX as the player was hit. I narrowed it down to the use of GeometryCacheComponent in the Niagara system. The component is being registered with collision enabled and navigation relevant true.

I have found that the components are created for Niagara in FNiagaraRendererGeometryCache::CreateOrGetPooledComponent(). So I can easily just add:

GeometryComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
GeometryComponent->SetCanEverAffectNavigation(false);

My question is, will this cause issues with Niagara systems? It looks like Niagara tries to keep all of its side-effects out of the collision system. But I don’t want to have to hunt this down several years from now when we have problems with particles not bouncing off the ground.

[Attachment Removed]

Hey Peter,

adding those lines will not cause any issue with Niagara. I’ll expose those two settings as an option to the renderer and default them to off, so they can be turned on in the rare case that it’s needed.

Cheers,

Michael

[Attachment Removed]

Thanks so much.

Niagara is a lot to take in, especially for someone mostly working with NPC’s and nav-mesh, so this reassurance is very helpful. And, hopefully, other teams will just never need to think about it going forward.

[Attachment Removed]