private void OnCollisionEnter(Collision collision) { if (isCollision) { // Apply the force to the rigibody ignoring the mass collision.rigidbody.AddForceAtPosition(directionForce * forceApply, collision.transform.position, ForceMode.VelocityChange); // Reset the collision isCollision = false; // Take damage to the object DestroyableObject destroyableObject = collision.collider.gameObject.GetComponent <DestroyableObject>(); if (destroyableObject) { destroyableObject.TakeDamage(punchDamage); } } }