void SetMiraControllerToVirtual()
 {
     MiraController.Instance.controllerType = MiraController.ControllerType.MiraVirtual;
     MiraController.Instance.userInput.InitVirtual();
     vrtlRemote = MiraController.Instance.userInput.virtualRemote;
     // MiraController.Instance.assignController ();
 }
    public bool InitVirtual()
    {
        if (controller == null)
        {
            _virtualRemote = new VirtualRemote();
            controller     = _virtualRemote;
            // Initialize with zero values to avoid nulls
            _virtualRemote.UpdateVirtualMotion(new Utils.serializableBTRemote(Vector3.zero, Vector3.zero, Vector3.zero));
            _virtualRemote.UpdateVirtualButtons(new Utils.serializableBTRemoteButtons(false, false, false));
            _virtualRemote.UpdateVirtualTouchpad(new Utils.serializableBTRemoteTouchPad(false, false, Vector2.zero, false, false, false, false));

            return(true);
        }
        else
        {
            Debug.Log("Controller already initialized");
            return(false);
        }
    }