Set a spawn location to the current position of another particle? Niagara

Hello! I am currently working on an effect that spawns 3 particles that orbit around a central point, and i am looking to then have those 3 positions act as a spawn location for more emitters to achieve an effect similar to Destiny 2’s Celestial Fire. how would i do this?

What engine do you use: Unity or Unreal?

There are several ways to achieve this in Niagara, but the most efficient and straightforward method is to use Particle Attribute Reader (PAR) in the child emitter to reference the parent emitter, then in the child emitter obtain the necessary parent parameters like position, sprite size, scale, color, velocity, etc.

There are Epic’s built-in PAR modules, but you can write your own custom module (I use custom module more often), or you can use Niels custom module:

1 Like

Oh hey Manus! I use Unreal.

I will try it out! Thanks! I don’t think ive worked with parent/child data like this before so its gonna be scary but im up for it

this worked perfectly! i used the built in one for now. my next step involves getting the same thing to happen with a ribbon, but when i try to set the beam start to the sampled position i get compiler errors, any idea what i would be doing wrong?

Can you capture a screenshot which shows your Niagara System and “Niagara log” that details the compile errors?


from what im seeing its reading the sampled position before writing it when i have the BeamStart set to the sampled pos. but i can only use the setup node in the emitter update section so i can’t make it happen AFTER it samples the position since i have to use the node that does that in Particle Spawn

I usually avoid the beam setup because I can achieve the same thing and more without it. I want to confirm that, you are trying to create straight lines with moving heads (positions obtained from parent emitter) while the end of the lines are located at the same target position. Right?