Quick answer: GameMaker part_emitter_burst not producing particles on a restarted emitter? Burst requires the emitter to be active - call part_emitter_clear before burst or use part_particles_create_color for one-shots.

Restart an emitter and immediately burst 100 particles. Burst spawns 0; reproducing requires reset.

Use part_particles_create

part_particles_create_color(
  ps, x, y, ptype, c_white, 100);

Direct spawn; doesn't require the emitter to be active. Skips the dependency.

Or activate before burst

part_emitter_clear(ps, em);
part_emitter_burst(ps, em, ptype, 100);

Clear forces the state; burst then spawns.

Avoid mixed lifecycle

Pick one: continuous emitter or one-shot bursts. Mixing produces ordering bugs.

“Particle emitters are stateful. State transitions need explicit sequencing.”

If you need one-shot bursts, the create function is simpler than emitter state management. Reach for it.

Related reading