Mesh changing in realtime

I Making a grid based city building game, and I have a BIGGGG problem:

can you make faces of a mesh turn invisible during run time? I need a way of turning the face of a mesh invisible when an object on ground level is on the same grid space as it. For some buildings like the subway station, and road, they actually go into the ground, and so the ground needs to turn invisible or get deleted so the road is visible. Thing is though, on a 500*500 grid tile size city, making each grid space a plane that can turn visible and invisible isn’t efficient for mobile devices. Plz help me or Im gonna die!

Ok, so if i understand right, you want to draw entrance to subway on top of your other mesh, so your “terrain” mesh is not visible on top of your entrance mesh.

This may be done by rendering in right order, for this you need to use custom shader, that will render your “subway entrance” mesh on top of your “terrain” mesh.

If so, then I think this is what you looking for: - YouTube