void Update()
    {
        if (Input.GetKey(KeyCode.Escape))
        {
            Application.Quit();
        }

        if (Input.touchCount > 0)
        {
            var touch = Input.GetTouch(0);
            touchSqrMagnitude += touch.deltaPosition.sqrMagnitude;

            switch (touch.phase)
            {
            case TouchPhase.Began:
                touchTime = Time.time;
                break;

            case TouchPhase.Ended:
                if (touchSqrMagnitude < 10f && (touchTime == 0 || Time.time - touchTime < 0.5f))
                {
                    if (Input.GetTouch(0).position.y > Screen.height / 2f)
                    {
#if (UNITY_IPHONE || UNITY_ANDROID || UNITY_BLACKBERRY || UNITY_WINRT) && !UNITY_EDITOR && !UNITY_3_3 && !UNITY_3_4
                        keyboard = TouchScreenKeyboard.Open(text, TouchScreenKeyboardType.ASCIICapable, false, true, false, false, string.Empty);
#endif
                    }
                    else if (isImmersive)
                    {
                        ImmersiveMode.Clear();
                        isImmersive = false;
                    }
                    else
                    {
                        ImmersiveMode.AddCurrentActivity();
                        isImmersive = true;
                    }
                }

                touchSqrMagnitude = 0;
                touchTime         = 0;
                break;
            }
        }
    }
 void OnDestroy()
 {
     ImmersiveMode.Clear();
     isImmersive = false;
 }