Unity collider answer

Unity Collision Not Detected: A Short Diagnostic Order

When objects visibly overlap but no collision callback arrives, debug the physics setup in a fixed order instead of changing five variables at once.

1. Prove both colliders are enabled

Start with the obvious: the objects need enabled colliders, active GameObjects and shapes that actually overlap in world space.

2. Give moving colliders a Rigidbody

Unity’s current Collider API recommends associating a Rigidbody with colliders that need to move during gameplay. Moving physics objects only by Transform can make the setup harder to reason about.

3. Remove layer rules from the equation

Temporarily use layers that are known to collide. If the callback returns, restore your layer setup carefully instead of rewriting collision code.

4. Test fast-object behaviour separately

Fast objects can cross thin geometry between physics steps. If only fast movement fails, review Rigidbody collision-detection mode, Fixed Timestep and collider thickness instead of treating it like a general collision bug.

5. Reduce to one cube versus one cube

A minimal primitive test tells you whether the issue is global project physics, code, layer configuration or the specific imported asset/collider.

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 Mesh Collider Not Working: Convex, Rigidbody & Mesh Checks →

Unity Trigger Not Firing: Why OnTriggerEnter Does Nothing →

Unity Collision Layers: Fix the Layer Collision Matrix Before Rewriting Code →