Might have been bugged in previous versions, but at least for ue5 onwards the easiest option I found is to set using the SetNiagaraStaticMeshDirectly function.
Set it up by providing a StaticMeshDataInterface UserParameter and leave the Source Mode on Default (Source doesn’t work as it requires a component)
Then in the construction script (or wherever you want) set that User Parameter like this.
Notes:
- You don’t need to explicitly set the namespace to user, Niagara will just assume that is the case.
- If you use CPU simulations all the meshes you wish to use need to have cpu access enabled in the static mesh options (this is not default) or they will not work.