Quick answer: Add a Data Channel reader module to the consumer emitter’s Spawn or Update block. Both producer and consumer must reference the same Data Channel asset.

An impact system uses a Niagara Data Channel to broadcast hit positions to ambient particle systems. Producer writes succeed (the channel asset reports active producers). Consumer never spawns particles in response. Wiring looks correct but no events flow.

The Producer-Consumer Loop

Niagara Data Channels have three pieces:

  1. A Niagara Data Channel Asset defining the record struct (Position, Direction, Magnitude, etc.).
  2. One or more producers writing to the channel via a Data Channel Write module.
  3. One or more consumers reading from the channel via a Data Channel Reader module.

Both sides must reference the same asset. Mismatch (or unset reference) = silent drop.

Producer Setup

In the producer emitter’s Update or Particle Update:

Update Particle:
  ...
  Write Niagara Data Channel:
    Data Channel: NDC_Impact
    Position: Particle.Position
    Velocity: Particle.Velocity

Each frame each particle writes one record to the channel.

Consumer Setup

In the consumer emitter, add a reader. Two common patterns:

// Pattern A: Spawn particles per record
Spawn:
  Spawn Particles from Niagara Data Channel:
    Data Channel: NDC_Impact
    Spawn Per Element: 5

// Pattern B: Read records, react in Update
Update:
  Read Niagara Data Channel:
    Data Channel: NDC_Impact

Both patterns need NDC_Impact to match the producer’s reference exactly.

Diagnose with Channel Inspector

Open the Niagara Data Channel asset. In the editor’s Channel Debug panel, you can see:

If producers > 0 but consumers = 0, the consumer isn’t bound. If both > 0 but records = 0, the producer isn’t actually writing — check its module conditions.

Lifetime Scope

Each Data Channel has a Scope (Frame, Cumulative). Frame-scoped channels clear at end of frame; records written this tick are read this tick only. Cumulative channels persist. For impact effects, Frame is usually right; for systemic state, Cumulative.

Verifying

Trigger producers (fire weapons, etc.). The consumer should spawn its particles in response. Channel Inspector should show non-zero producers, consumers, and records per frame.

“Data Channels are pub-sub. Both sides reference the same asset; both have the right module. No reader = silent drop.”

Data Channels replace many ad-hoc event hookups — great for systemic VFX where many systems should react to many sources.