void Awake()
        {
            if (Instance == null)
            {
                Instance = this;
            }
            else if (Instance != this)
            {
                Debug.LogError("There should only be one NSManager! Make sure there is only one NSManager prefab in the scene\n" +
                               "If there is no NSManager, one will be created for you!");
            }

            _imuCalibrator = new CalibratorWrapper(new MockImuCalibrator());

            //The plugin needs to load resources from your app's Streaming Assets folder
            _plugin = new NSVR.NSVR_Plugin();

            _trackingUpdateLoop = UpdateTracking();
            _suitStatusLoop     = CheckSuitConnection();

            DoDelayedAction(1.0f, delegate()
            {
                _suitStatus = ChangeSuitStatus(_plugin.PollStatus());
                StartCoroutine(_suitStatusLoop);
            });
        }
 IEnumerator CheckSuitConnection()
 {
     while (true)
     {
         ChangeSuitStatus(_plugin.PollStatus());
         yield return(new WaitForSeconds(0.15f));
     }
 }
 IEnumerator CheckSuitConnection()
 {
     while (true)
     {
         var status = _plugin.PollStatus();
         if (status != _suitStatus)
         {
             _suitStatus = ChangeSuitStatus(status);
         }
         yield return(new WaitForSeconds(0.15f));
     }
 }