Right now if two different parameters have the same name, they are optimized and compiled as one (or they simply exist as instance of each other all the time). This forces me to call the same parameters for different material layers by different name.
I mean for example having base material layer that has “Normal Map” parameter and dirt material layer that has “Normal Map” parameter too. Now if the material would stay as material, it wouldn’t matter much if one is called Normal Map, the other Normal Map2, but I usually turn materials into instances, group the parameters so that one “Normal Map” parameter is in group called “Base”, the other "Normal Map is in group called “Dirt”.
I would find it very useful if there would be a toggle in parameter nodes that would internally (what’s in shader code not in GUI of the shader editor or in material instance) change the name of the parameter to something like this “Parameter Name + Group Name” which would in turn make those two parameters different and they wouldn’t be merged into one. Not sure how exactly are parameters named in the shader code, so the part with group name could be also random set of characters or whatever would allow for two (or more) parameters to be called the same name.
I do realize this is extremely low priority feature (if it makes sense at all), but I wanted to at least let you know
edit: To avoid confusion, the number “5.” in the parameter name is there so that I can sort the parameters how they appear in Material Instance and I already had another request for that to be somehow able to tell rocket how to sort the parameters in the instance.