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.