RigidBody becomes awake without a collision

I have a ball object with a RigidBody that is initially asleep and the ball is floating in the air. I want the ball to become awake when a player object touches it (which I thought was a default behaviour). Instead, the ball gets awaken if a player gets close to it, but still without touching it. How can I prevent this from happening?
I checked the OnCollisionEnter() method and it’s not called when the ball becomes awake. It gets called when an actual collision happens.

So you’re talking about 3D physics then.

In-case you’re not using 3D physics, know that 2D physics wakes objects when their AABB overlap and not when they collide. Unity uses Box2D for 2D physics and this is fixed behaviour. You can visualise the AABB of colliders by going into 2D physic settings, opening “Gizmos” and checking Show Collider AABB property.

When BoxCollider2D are not rotated, their AABB are perfectly aligned with the collider however if they rotate you’ll see they are not. For other colliders, the AABB never aligns perfectly with the collider.