How to Spawn Particles in a Line with Unique Z Positions Using Niagara in Unreal Engine?

Hi Everyone,

I’m working on a project in Unreal Engine and need to spawn 10 mesh particles in a straight line using Niagara. I want all the particles to spawn at the same time, but with each particle’s Z position moving upwards sequentially—one after the other.

I’m currently using the Spawn Particles from Grid module, but I’m struggling with adjusting the Z position of each particle individually.

Has anyone encountered a similar challenge or have suggestions on how to achieve this effect with one emitter?

Thanks in advanced for the help!

bandicam2025-03-0420-09-57-592-ezgif.com-resize

Not sure, but is this what you had in mind?

bandicam2025-03-0420-22-06-523-ezgif.com-resize
Or was this what you wanted?

first just multiple execution ID with X or Y of your position. increae value for how much distance you want between cubes. for z direction you can do same with a curve.

1 Like

Thanks for the reply! I was essentially trying to recreate this where the particles would stop at the same z position: Senbonzakura Kageyoshi by ScarletAkatsuki on DeviantArt

Sorry, I don’t fully understand what you mean. Could you please explain further, maybe with some screenshots? (I’m still pretty new to niagara)

From your gif, it seems like it would be easier to just spawn the particles sequentially with a spawn rate module.
You could just animate the position offset in the initialize particle module.
Animating it with a vector curve driven by emitter age (instead of the default, Particle Normalized age).

Thank you! This worked out for me perfectly. Really appreciate the help!

Got this to work with the grid system. no animation of the parent system.
bandicam2025-03-0522-40-28-213-ezgif.com-crop

Start learning scratch pad and you’ll be better off in the long run.

2 Likes

Thanks for making this! This seems like a lot cleaner of a way to get the result I wanted. Do you have any recommendations on resources/courses for learning scratchpad?

That’s a cool setup! My one question is that right now it looks like the amount add variable is a value that is being added to the Z position each frame, and so the speed would change depending on the frame rate. Maybe it should be multiplied by delta time? (Or maybe I’m off here and misunderstanding something).