Set niagara static mesh at runtime?

I have a niagara system that has a simple mesh renderer and was curious how to set the mesh dynamically at runtime? I can set the material by having a User Exposed variable and changing “User Param Binding”, but I can’t see a way to change the mesh itself. I’ve tried using “Set Niagara Static Mesh Directly”, but since I don’t have a binding, I have no idea what to put in the Override Name slot. Any ideas?

With the “Set Niagara Static Mesh Directly”, you can change the mesh used for particles location, not the shape of the particles itself. I’ve been digging around for a while, and it seems to me there’s no way to bind the mesh renderer values to user variables in order to access them from blueprints. So I guess you’ll have to duplicate the system, set a new mesh, and just switch between systems at runtime.

1 Like

Would also like to know if this is possible.

Yes, an answer would be indeed very welcome.
I searched a lot and didn’t find any solution for that using UE4.

Hello there, because i did not find any working answer yet, here is my solution:
create static mesh user parameter in your system


Assign the parameters to the rendered meshes. (press the little triangle, for the array index)

Now set the static mesh in BP

This way, you should be able to assign any static mesh at runtime.

I hope this helps

3 Likes

If your mesh is assigned but you cannot see the material. Head over to your material select the output node, and search for niagara. Tick " used with niagara mesh particles "

The material will now be visible.

Stay creative!

Hey!

Here is a detailed tutorial on this topic.