
I have a Rocket Tank game object that consists of 4 children game objects.
I need to fade out the entire tank when it's too close to camera.
All the logic has been implemented and works fine.
The problem is the Rendering Modes
If I set it to Opaque, I cannot modify Alpha channel to make it transparent.
If I set it to Transparent, I have each individual mesh trying to overlap each other even at Alpha = 255, see screenshot. **Fade **mode gives a similar outcome.
Changing render order/queue only changes the order in which they inevitably overlap each other. Joining meshes is not an option.
I figured I could change the Rendering Mode in real-time to Transparency and back to Opaque using Shader Graph and a bit of code.
Is it ever a good idea though? 
Or should I have two separate materials and switch between them?
UPD: looking at Material Variants 