My current approach is to make the material itself into a material function, then create many materials that call this material, and write expressions for the parameters passed into the material function
MF:Switch which Input to display based on IsSelected and IsFocus.
One of Materials Call MF:
This Mat Input four Icon Tex to the MF and get output to display.
If the displayed Icon requires dynamic effects.So I need make a new Material and edit it.
Although this can achieve results. However, the material itself does not have an inheritance relationship, which goes against the OOP philosophy.
Would it be better if we could fill in the material function in the red box of the image on the next line?