How to set child actor user parameter with blueprints?


I have a variable I use in a niagara system I want to be able to create this child actor and set this variable with blueprints or c++. updating the variable with set niagara variable is not working i dont think its actualy referencing the right thing. I think im looking for something like set user parameter but that doesn’t seam to be a thing.

Does anyone know a way to set this variable at runtime or some workaround to pass some variables to a niagara system or if im going about this the wrong way please point me in the right direction thanks.

I don’t think that’s a child actor, right? It looks like a Niagara component.

Have you tried this?

yes i tried that and im trying to figure out why its not working i can change the value in the editor and it works fine but when i use that function set niagara variable it dosent seam to set the value. i have a spawn actor from class spawning the actor then ive tried having this function straight after and it dosent work

Make a print string of that niagara particle value . Maybe show the blueprint picture also.

I kept trying for a while and could not figure out what exactly was not working the print strings would show that the bp was being updated but the niagara system would not reflect that change I think it was more that set niagara variable does not do what i thought it does. I have solved my issue by using a niagara parameter collection instead.

the reason set niagara variable appears to do nothing: it needs a niagara component reference, and a child actor component wraps its own actor, so the niagara component you must target lives inside the child actor’s actor, not on the outer.

the blueprint walk:

  1. get the child actor component, call get child actor, cast to your actor class (or to a generic actor if the child is a plain effect actor).
    1. from that child actor, get components by class (niagara component), take the first.
    1. feed that niagara component into set variable (float/color/whatever) with the exact user parameter name.
      two common trip points: the user parameter must be exposed on the system (user namespace, and its name matches exactly, case sensitive), and if the child actor template is set to a different actor class than the one actually spawned, the cast fails silently. also note child actor components re-spawn the child when you change the class, which resets any parameter you set before the swap, so set parameters after the child actor exists.

cleaner alternatives if the walk feels fragile:

give the child actor a small blueprint with a function (set effect strength float) that internally does the get-component-and-set dance. the outer just calls the function, no component plumbing outside.

or skip child actors entirely: spawn system attached on the parent at the socket you want. then the return value of spawn system attached is the niagara component, and set variable works directly on it with zero indirection. child actor components add lifecycle complexity that rarely pays off for pure effects.