void Update()
        {
            // Touch screen to recalibrate.
            for (int i = 0; i < Input.touchCount; i++)
            {
                if (Input.GetTouch(i).phase == TouchPhase.Began)
                {
                    UnityGyroAxisSource.Calibrate();
                }
            }

            // Use last device which provided input.
            var inputDevice = InputManager.ActiveDevice;

            // Rotate target object with gyroscope mapped to left stick.
            transform.Rotate(Vector3.down, 500.0f * Time.deltaTime * inputDevice.LeftStickX, Space.World);
            transform.Rotate(Vector3.right, 500.0f * Time.deltaTime * inputDevice.LeftStickY, Space.World);
        }
        IEnumerator CalibrateGyro()
        {
            yield return(new WaitForSeconds(0.1f));

            UnityGyroAxisSource.Calibrate();
        }