public void Detach() { if (state == State.idle) { return; } curInteractionObj.EndInteracting(); // visuals handVisuals.parent = transform.GetChild(0); handVisuals.localPosition = Vector3.zero; handVisuals.localRotation = Quaternion.identity; state = State.idle; }