Control multi-material object transparency
there has been a recent change in blender, that lets you use a custom object property inside a material node tree. Here you have a tutorial to set it up.
https://youtu.be/WWwS-0AHotY
I faced the same problem several years ago, and the solution at that time was using node groups, but it was quite time consuming.