OnCollisionEnter not working in Unity 3D

Collision b/w a primitive sphere and cube. No debug message. Now, before you say to check similar posts…

Both have rigidbodies.
Both have colliders slightly larger than themselves.
Both have no trigger (need physics) and are non-kinematic.
No high speed collisions. I can clearly see the two objects colliding.
Referencing object name. I’m not aware if using any layers.
The “enemies” are generated in game, gravity is on, and collision is discrete, if any of that matters.
Edit: Just regular objects, not children of anything. Nothing disabled. Debug messages from other scripts appear.

//code on the player (cube) and no collision code on “enemies” (spheres)
void OnCollisionEnter (Collision col) {
if (col.gameObject.name == “bigEnemy”) {
Debug.Log (“hit by bigE”);
} else if (col.gameObject.name == “runtEnemy”) {
Debug.Log (“hit by runtE”);
}
}

Any help appreciated!

have you tried putting a print statement outside the if/else statement just to see if the function is being fired?

Do the names match exactly? Caps match and no additional stuff like the (clone) that gets added on?

Thanks for the replies. I realized I didn’t attach script to the player :rage: