Best Practice for Multiple Materials? Materials Functions or Element Slots?

Im making a building that’s going to be using multiple materials, concrete for the ground, metal for the door handles, wood for the walls etc.

What is the best and most optimized approach to do this? Do I use one material that contains multiple material functions? Assign material elements slots to the mesh? Or a mix of both?


My current approach is layering material functions but it looks like I’m limited to only 4 materials (seperated by a RGBA mask) and anything after 4 gets much more expensive (I’m using a Color-Select function to mask out custom colors). Is it more efficient to use 2 sets of texture masks perhaps?


What is the best and most optimized approach to tackle these architectural element materials? How can I keep things optimized with more than 5 materials?