While explaining the material editor to someone the other day, I found that they had some trouble wrapping their head around mismatched variable types in the material editor. For example, they were trying to plug in a float3 output of a (monochrome) texture into the alpha input of a Lerp node, and were wondering why they got an error.
So, I was thinking… wouldn’t it be nice if, just like blueprint wires, material editor connections were color-coded depending on variable type? There is only a very limited number of variable types in shaders, and in some cases, automatic parsing of one type into another works just fine - but in many other cases, it doesn’t. Color-coding would be a really intuitive way to make using the material editor more approachable for new users without any background in programming!
I don’t know how much overhead would be involved in this, but I think it could improve the user experience of the material system a lot.
I have looked into the request. I think it’s an awesome idea. It would make workflow much cleaner as well as recognizable when looking at a complex shader. I have put in a feature request for this to be considered for an unreal feature.
Thank you very much for taking this suggestion into account.
I also support the suggestion of Kashaar, it is a very good idea.
Everything that can make the UI smoother (well it is already great but there is always room for improvement) and faster to read and manipulate is very appreciated in production.
I’ve updated the feature request, UE-18302, to show that additional developers are requesting this feature. For checking on where wires are located, if you hoover over a wire for a short time that wire will be highlighted to show you where it is connected and will dull the rest of the wires.
Having said that, this feature request is currently backlogged as our resources are dedicated elsewhere, I do not have a timeframe of when it will be addressed.
Awesome, thanks ! If I get some free time off work and projects I might just take a stab at this myself and pull request it. Sounds like a great way to learn more about how the Material system works under the hood!