Quick answer: Unreal Niagara pooled system's handle returning null after pool reclaim? Caller's reference is to a returned-to-pool component; reacquire via fresh spawn.

Hit-spark VFX spawned; handle stored; later, handle invalid because pool reclaimed.

Don't hold pool refs

Use the system briefly; release reference. Pool reclaims safely.

Or pin manually

SetAutoDestroy = false. Caller owns destruction; pool doesn't reclaim.

Verify pool lifecycle

Each pooled handle: when does the pool reclaim? Document.

“Pool reuse invalidates handles. Holders need to know.”

Build a 'safe pool ref' helper. Validates before each use; auto-reacquires if invalid.

Related reading