public void HoldLedge(Transform col) { // freeze gravity while hanging gravity.FreezeGravity(); // reset velocity rigidbody.velocity = Vector3.zero; // Ledge has same vertical rotation as player transform.eulerAngles = new Vector3(rigidbody.rotation.x, col.transform.rotation.y, rigidbody.rotation.z); // Get on same height as Ledge rigidbody.position = new Vector3(rigidbody.position.x, col.position.y - 3.3f, rigidbody.position.z); // freeze rotatbion around y axis rigidbody.freezeRotation = true; }