Allow "Input Material Attributes" in Materials

Thank you so much for your patience so far.

I’m sorry, I don’t think I’ve been clear enough with what I’m asking - I’m still new to UE so I don’t know the correct terminology, and I think its causing confusion.

I’m looking for a way to take a Megascans MaterialInstance, and transform it, without duplicating and/or editing the Megascans master Material. The Megascans master Material in question doesn’t support layers.

I am not looking for advice on how to create my own master Material, and pass in the Megascans assets.
Nor am I looking for advice on refactoring logic into smaller compossible functions, which I’m also very familiar with.

The way that I think this would look is the Decorator Pattern. A MaterialInstance that could take another MaterialInstance as a param. Presumably (but not necessarily) this would mean that you could promote the input pin of the BreakMaterialAttribute node on a master Material, which I think would be a MaterialAttributes param.

Nesting and composing Decorators is a very useful strategy in programming, and I believe it would be useful here too, especially for beginners. Since Material/Blueprint Graphs are just a Dataflow programming language, I’d like to be able to apply the same programming best practices and patterns.