Quick answer: Unreal Niagara CPU system stuck in idle state after the owning level streams back in? System lifecycle disconnects from streamed levels - call Reset and Activate on level activation.
Streaming level out then back: VFX systems no longer spawn particles even when manually triggered.
Hook level activation
FCoreUObjectDelegates::PostLoadMapWithWorld.AddRaw(this, &FRefreshVFX);Re-activate all Niagara systems on level reload.
Or persistent VFX root
VFX components on a persistent actor outside the streamed level. Streaming doesn't affect them.
Verify with stat niagara
Per-system state visible. Inactive after streaming = the bug; the fix flips state to Active.
“Streaming changes object lifetimes. Cached lifecycle state goes stale.”
Treat level streaming as a re-init event for visual systems. The principle generalizes beyond Niagara.