Quick answer: Unity Physics2D.OverlapCollider returning hits on disabled colliders? Disabled doesn't remove from the physics world - explicitly destroy or use enabled=false on the rigidbody.

Disabled enemy hitbox; raycast still hits it; damage still applies.

Disable the rigidbody

rb.simulated = false;

Removes from physics world. OverlapCollider skips.

Or destroy the collider

For permanent removal, destroy. Cheaper than disable for many cases.

Use ContactFilter2D

Filter results post-query. Defensive; works when you can't control collider state.

“Disabled is a render concept. Physics world membership is separate.”

For physics-relevant disable, simulate=false is the correct primitive. Disabled GameObject isn't enough.

Related reading