blueprints not independent from each other?

Try this:

  • Create a base material, which accepts material params to choose the emissive colors.
  • Within you character’s BP, create a dynamic material instance with the above material as the source. This dynamic material should be created in construction script and assigned to a variable for future access
  • After you have created the dynamic instance, set the material params for this instance to some value. I would create 3 public variables in the BP itself to store these values and edit them from properties window. This way you can configure the color from the default properties panel. In this case, I would simply use these 3 variables to set the material params
  • Later during gameplay, if you ever want to change material params, use the Material instance variable we created in step2 and manipulate it. It wont affect any other BP.

PS: Instead of using 3 separate scalar params, why don’t you pack them into a single Vector param? That way you only need to call 1 Set Material Param node