Just one note - the “If” node in materials is quite slow - shaders are designed to work efficiently in a “non-branching” way so the tasks can be split over many threads - the “If” kind of breaks that. If you find in the future you have performance issues, this may be a place to optimize, otherwise - it does make it a lot easier