OnCollisionEnter is called before the actual collision


I made a simple script that print’s the name of the game object OnCollisionEnter for testing purposes. As you can see it prints out before the actual collision.

54361-screen-shot-2015-09-15-at-121500-pm.png
And this is when the actual collision happens.

OnCollisionEnter() is triggered as part of the FixedUpdate cycles of the physics engine and is effectively disconnected from the rendering process.

When the collision occurs, it’s almost guaranteed to take place between rendering frames. Therefore, the render would typically come a fraction of a frame after the collision takes place.

Disable PCM in physics settings, its little buggy. Generate contact info close to collision body, but in fact no collision.