void SetupRotate()
    {
        GetComponent <TransformEulerRotationMutator>().Target = rig.gameObject;
        GetComponent <TransformEulerRotationMutator>().Origin = rig.alias.HeadsetAlias.gameObject;
        rotate = GetComponent <AxesToVector3Facade>();

        var rotateMap = InputManagerEditor.AddMap(ref rig.rightHand, "Rotate");

        rotateMap.Setup("Rotate");
        rotateMap.axisType = InputMapping.AxisType.Axis2D;
        rotateMap.type2D   = InputMapping.InputTypeAxis2D.Thumb2D;
#if UNITY_EDITOR
        UnityEventTools.AddPersistentListener(rotateMap.Moved2D, GetComponent <Vector2Action>().Receive);
#endif
    }
    void SetupWalk()
    {
        GetComponent <TransformPositionMutator>().Target          = rig.gameObject;
        GetComponent <TransformPositionMutator>().FacingDirection = rig.alias.HeadsetAlias.gameObject;
        walk = GetComponent <AxesToVector3Facade>();

        var walkMap = InputManagerEditor.AddMap(ref rig.leftHand, "Walk");

        walkMap.Setup("Walk");
        walkMap.axisType = InputMapping.AxisType.Axis2D;
        walkMap.type2D   = InputMapping.InputTypeAxis2D.Thumb2D;
#if UNITY_EDITOR
        UnityEventTools.AddPersistentListener(walkMap.Moved2D, GetComponent <Vector2Action>().Receive);
#endif
    }