Description

In Niagara, Mesh Renderers expose a "Meshes" array for selecting the meshes to be rendered. On each array entry, a property "Mesh Parameter Binding" is available and allows the user to override that mesh with a simulation parameter of type "Static Mesh Object" (not Static Mesh Data Interface). This can be bound to a User Parameter of the correct type to allow blueprint control.

When a Niagara User Parameter is renamed, in general all references to it inside the simulation are updated, including dynamic inputs, references inside modules, and bindings inside renderers. However, when the user parameter bound to the "Mesh Parameter Binding" of a Mesh Renderer is renamed, that binding is not properly updated and gets silently broken.

The rename triggers the following call chain:

FNiagaraSystemToolkitParameterPanelViewModel::RenameParameter()
FNiagaraSystemViewModel::RenameParameter()
UNiagaraSystem::HandleVariableRenamed()
UNiagaraEmitter::HandleVariableRenamed()
UNiagaraMeshRendererProperties::RenameVariable()
FNiagaraParameterBinding::OnRenameVariable()

On that last call, the rename is only performed when condition "ResolvedParameter.IsInNameSpace(EmitterName)" is satisfied, which is not the case for user parameters. Note that a similar condition also exists on the second call above, but there is an "else" code path to follow there, which leads down the rest of the call chain.

Steps to Reproduce

1. Create a Niagara System with a Mesh Renderer (e.g. from the UpwardMeshBurst template)
2. On the "User Parameters" tab, add a User Parameter of type "Object – Mesh" (not a data interface) and select e.g. "SM_FieldArrow" for its default value
3. On the Details Panel for the Mesh Renderer, expand one of the entries of the "Meshes" array to display additional properties
4. Click the "Mesh Parameter Binding" combo box and select the user parameter created before. Note how the mesh appears in the preview.
5. On the "Parameters" or "User Parameters" tab, rename the user parameter to anything else.
6. Bug: The "Mesh Parameter Binding" is not updated, and the mesh is no longer visible in the preview: the binding was broken.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-256130 in the post.

0
Login to Vote

Backlogged
ComponentUE - Niagara
Affects Versions5.5
CreatedMar 13, 2025
UpdatedMar 13, 2025
View Jira Issue