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 →