Quick answer: Unreal Niagara CPU emitter spawn rate inconsistent at 30fps cap? Per-tick spawn count varies with deltaTime; rates not integer divisible - use ParticleSpawnRate parameter for time-based.

Author 60 particles/sec. At 60fps: 1 per frame, consistent. At 30fps: 2 per frame mostly, occasional 3 from accumulated remainder.

Use rate-based with accumulator

Emitter's SpawnRate module accumulates across frames. Total over time is consistent; per-frame varies.

Or use SpawnBurst

Discrete bursts at fixed intervals. Per-burst count is exact; spacing is timer-driven.

Profile at target framerates

Check 30, 60, 120. Inconsistent spawn count is visible.

“Spawn rate is a continuous quantity. Discrete frames need accumulation.”

For VFX visible at different framerates, test all framerates. Accumulation bugs surface here.

Related reading