Why wont OnCollisionEnter2D work?

Both objects have rigidbodies and colliders. They will in fact collide (my bullet pushes the other object away), but the debug won’t work.

void OnCollisionEnter2D (Collision2D col){
	Debug.Log ("hit");
}

Are you using RigidBody2D and Collider2D? The 2D and 3D physics systems are completely separate and cannot interact.