I'm going to make a mobile game in Unity3D where players can dig tunnels generated procedurally with meshes. A tunnel consists of many tunnel segment gamobjects each of which has a mesh collider. When a tunnel intersects itself or another tunnel it should connect with it, in essence making a hole in the intersected tunnel. Since there will potentially be hundreds of thousands of tunnel segments, I'm trying to think of the best way to optimize collision detection.
After some research, I decided the best way to optimize all the mesh colliders would be to disable colliders not near the player by checking a grid of tunnel segment positions. But i'd like a reality check to see if my idea is at all feasible? I attached an early picture of my tunnel generation efforts (very low poly for now).
I'd suggest not using colliders at all (especially mesh colliders as they are extra expensive compared to primitives), instead use cheaper data structures like Bounds with Intersects or Vertex positions using SquareMagnitude to measure distance and therefore overlap. Much more performant. Also consider using the ECS and / or ScriptableObjects to hold data.