Material parameter values don't change in all nodes when using Parameter Defaults window

There are 2 ways to change a parameter’s default value in the Material Editor. The old one is through “Details” panel → Material Expresion Scalar Parameter → Default Value. This one works correctly. The new method, since 4.21 or 4.22, is using a “Parameter Defaults” panel.

The bug happens when we have multiple Scalar Parameter nodes in the material, all pointing to the same name. Changing a value through the new method doesn’t propagate to other clones - it only updates a single node. It’s a bug, because 1 parameter shouldn’t point to multiple different values. It’s not just a UI-related issue, as the previewed shader also uses a wrong value.

I noticed an inconsistency, too but couldn’t put my finger on it.

The bug happens when we have multiple
Scalar Parameter nodes in the
material, all pointing to the same
name.

So that’s what causing it? In the pic the -1 value node is disconnected so I wouldn’t be surprised it does not update but the 3500 one should.

Changing a value through the new
method doesn’t propagate to other
clones

Good catch…

It’s not just a UI-related issue, as
the previewed shader also uses a wrong
value.

…and a little debugging nightmare.

I gave it a quick test and yeah, you can have several params, each with its own default value. It does not seem to matter which duplication method for the param is used, the original is the only one whose value is correctly assigned by the parameter defaults panel.

Bugs go here:
https://epicsupport.force.com/unrealengine/s/