Niagara User Parameters inside blueprint instances are reset on changes to the BP class

Hello everyone,

I’m seeing an issue using niagara user parameters with blueprints, want to make sure is a bug or how should I address it.

Just for context my intention was to have multiple actors in the level, that are instances of the same blueprint class, with different niagara systems effects, and when my character comes close to them, transfer the same effect to him.

So an example to reproduce the issue:

  • Given a Niagara System with a linear color user parameter
  • and given a BP class with a niagara component with no system asset attached
  • Create an instance of the actor bp on the level and attach the niagara asset to it
  • Change the color parameter on the actor instance, for example to BLUE
  • Now perform some change to the BP class (in my case I’m attaching a camera component and just moving its position)
  • The color of the effect will change back to its default value (for a color case, white). If I enter the actor instance the niagara component color value is white.
    However, if I hit play I can see the niagara effect as BLUE.

I suppose one workaround is to have multiple BP classes one for each niagara system and attach directly to it…
It seems that if the different niagara systems share the same parameters I can set one in the BP class and modify the instances, and then the parameter values will persist on class changes, but not sure if this is consistent nor solve the case of different systems.

Any suggestions?