How can I change Niagara variables via blueprint?

Hi, i’ve been trying to access my Niagara system/emitter variables through blueprint to have some dynamic values, but I can’t seem to find a way to do that in the editor or online.

1 Like

Anyone? I was able to expose some parameters in the Niagara System and see them in the blueprint editor via a Niagara component, but I can’t seem to get or set them via blueprint.

With this setup:

I was able to change the color at runtime, but let it be known that with this method only the following type of variables can be modified via blueprint; (Actor, Bool, Float, Int32, Linear Color, Quaternion, Vector 2, Vector 3 and Vector 4).

Here’s hoping a future update will include more variable types.

8 Likes

Thanks for posting the answer. Just one note for the newbies out there: “System Exposed Parameters” appear in Niagara System. You can create “User.OwnerColor” as an User variable in the Niagara Emitter, and drag it to the actual Color values (so it uses your value instead of hardcoding RGB color in the emitter).
Also, “Current Color” in this example is a LinearColor variable, you can use just MakeColor or MakeLinearColor

3 Likes

By ENiagaraState, do you mean an Emitter.VariableName? If so the same method should work, just make sure your niagara system is using User.VariableName created in the system where you need to. Only User variables can be changed. But you could workaround that by setting Emitter.VariableName to User.VariableName where needs be in the system.

Does this work for ENiagaraState (using int32) ?

here is a video tutorial for Niagara variable controlling in the blueprint