Preventing parts of mesh from being rendered - possible ?

Imagine having a single sphere (static or skeletal mesh). Half of the sphere has Material A and other half has Material B. Basically it’s 2 surfaces (2 hemispheres making up full sphere), each has its own material.

How can I make it where at certain distance from player’s cam, surface (triangles) with Material B become invisible (fade?) and stop being rendered (don’t contribute to rendering overhead at all, as if tris with Material B are not even there in the scene)

Maybe there is a different way to approach this? (I thinking in terms of old engine I used to use and that was the only way to quickly and efficiently hide parts of any mesh, assuming the parts were sub-surfaces of the mesh)