Quick answer: Same NDC asset both sides. Writer Tick Group: PrePhysics. Reader: PostPhysics. Spatial scope must match.

Writer emitter pushes positions every tick. Reader emitter samples them — gets empty. Reader runs before writer in Tick Group order.

The Fix

NiagaraDataChannel asset:
  shared between writer and reader

Writer emitter:
  Niagara Component (System actor):
    Tick Group:    PrePhysics
  Update:
    + Write to NDC (NDC asset, payload = Position)

Reader emitter:
  Niagara Component:
    Tick Group:    PostPhysics
  Spawn / Update:
    + Read from NDC (same asset)
    + Spawn at Position

Frame ordering: writer publishes, then reader consumes. Mismatched groups starve the reader.

Verifying

Reader emitter spawns at writer’s positions. NDC Debugger (Niagara → Debug Console) shows non-zero entry count.

“Same channel. Writer first. Reader after.”

Related Issues

For Niagara LOD, see LOD. For collision event, see collision event.

Order ticks. Channel flows.