1. Check whether the MeshCollider has a usable mesh
A MeshCollider needs a valid mesh for collision detection. If the source mesh was replaced, reimported or generated at runtime, confirm the collider is referencing the mesh you expect.
2. If the object moves, review Rigidbody + Convex
Unity documents Rigidbody as the normal physics body for colliders that move during gameplay. When a detailed moving mesh collider is genuinely required, Convex is usually the relevant path; otherwise compound primitive colliders are often simpler and cheaper.
3. Test with a primitive collider
Temporarily replace the mesh collider with a BoxCollider or CapsuleCollider. If collision immediately works, your scripts and layers are probably fine and the remaining issue is specific to mesh-collider configuration.
4. Check layers before changing code
A correct collider can still appear broken when the Physics Layer Collision Matrix disables the pair. Test on default layers to isolate geometry from configuration.
5. Avoid exact visual-mesh collision unless it buys something
Mesh colliders are useful when primitive or compound shapes are not good enough. For moving gameplay objects, simpler colliders are usually easier to debug and often cheaper to simulate.
Official Unity references
Based on current Unity 6 Collider, Collider.bounds and MeshCollider documentation plus Unity trigger-collider setup guidance. Project settings and later engine updates can change behaviour.
Related Unity collider answers
Unity Collider Troubleshooter →
Unity Trigger Not Firing: Why OnTriggerEnter Does Nothing →
Unity Collision Not Detected: A Short Diagnostic Order →
Unity Collision Layers: Fix the Layer Collision Matrix Before Rewriting Code →