Parameters Broken in Material Functions

I think our team discovered a very serious issue with parameters in material functions which can break existing material instances without showing any errors. Here are the steps to reproduce this problem:

Create a material function with a few scalar parameters. For example, perhaps two parameters to scale and offset a roughness map. Then save this material function after connecting your inputs and outputs and close it out. Right click and duplicate that material function. Open the new material function and rename the parameters to some other name, perhaps a scale and offset for a metallic map instead.

Now create a material and use both of these material functions within it. Use the original function to adjust your roughness and the duplicated function to adjust your metallic. If you then create a material instance based on this material both parameters will be treated as a single value due to them having the same underlying object name. You can change them independently while editing the material, but if you save and close it out and then re-open the file, you’ll see only one of the cross referenced values got updated.

This means you could setup a whole bunch of material instances that are using material functions with the same underlying object names and none of your values will actually be saved. Hopefully you’re able to reproduce this issue and can get it quickly resolved in a future update. Thanks!

Did you find a solution to this? Im finding this is still and issue in 4.23’
I have a Master Material function, then I have multiple Instances of that with different input textures, then I’m blending multiple of those MI’s derived from the same master together in a material, but they sort of override each other because of the duplicate names.

Not sure how to get around this?