I figured I should drop a little note in this thread as an update since I haven’t found a more recent one concerning this feature. I don’t think it is something that has had much active use.
Our project has been working with the Material Layering feature since its introduction as we found it to have a lot of potential and we plan to make heavy re-use of materials to help manage texture budgets. Up until 4.24 this feature was in Experimental and had a few issues, the most notable being that the state of the Material Instances which had a layer stack would often not properly reflect its state in the world, and also you would have to sometimes force a change to get it to recompile properly.
We actually updated to 4.25 because we saw the feature was made Beta, and there was a few vague notes about them addressing the state of materials updating properly.
Sadly with 4.25.1 this functionality is for us pretty much broken. Our old MI’s that used the Material Layer Instances are broken, and this is understandable we were working with experimental code and they likely made enough changes which are not backward compatible, I was planning to rebuild the Material Layer master anyways to be much cleaner so this didn’t phase me or affect our plans.
There are a few other more serious problems we have found that makes this feature broken for us.
One is that MLI’s either created from the Master/Parent or as a Sibling which includes parameter changes like new Texture maps, Scalar Values, Booleans, that are not default will not propagate into the MI Stack when they are added the values revert to the defaults. There is another post which notes this as well.
Another is that any Material Layer master that is even a little complex is susceptible to crashing. Creating a Child of the Parent can make the parent when it is added to the layer stack crash the editor, and potentially a child in the stack which is edited to enable a parameter, or material function in the master can cause corruption of the Material Instance in which it is used and any attempts to open the MI will crash the editor forcing it to be deleted and started over.
So as it stands currently the Material Layer Stack feature is pretty unusable until these issues are resolved. The experimental version was much more stable, I’m not sure why this was put into beta in this state, but I am hopefully they are once again working on this feature and there will be updates to make it functional again. Someone on our team is looking into trying to fix these problems so if there is some resolution I will be certain to update this thread. Otherwise if he fails I will likely submit some bugs and provide an example project to help.
If anyone has been able to effectively use this feature without issues in 4.25.1 I’d love to hear about how you have done it.