Quick answer: Cross-system: Data Channel. Within-system emitter-to-emitter: Event Handler.

Decide which Niagara messaging primitive fits. Spawned-from-death sparks: Event. Player position broadcast to fog/dust systems: Data Channel.

Decision Matrix

Within one Niagara System:
  Source emitter dies, spawn debris in another emitter:
  → Generate Collision Event + Receive Collision Event Reader

Across multiple Niagara Systems:
  Player position broadcast to fog, dust, footprints:
  → Niagara Data Channel (NDC)

One-shot game-driven event (BP-triggered spawn):
  → SpawnSystemAtLocation or SetVariable

Picking the right primitive avoids overhead and confusion.

Verifying

Profile with stat Niagara. Tight events lower CPU than NDC for in-system. NDC scales better across many systems.

“Event for in-system. DC for cross-system.”

Related Issues

For NDC reader empty, see NDC empty. For collision event, see collision event.

Right primitive. Cost matches.