Thursday, August 2, 2018

Unity Pause Un-Pause game while using Oculus Rift


Make sure you install Oculus Utilities & Oculus Platform packages
https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/
https://developer.oculus.com/downloads/package/oculus-platform-sdk/

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GamePause : MonoBehaviour
{
    [SerializeField] private GameObject pauseObject;
    private AudioSource audioSource; // assuming music is attached to this GO
    private void OnEnable()
    {
        OVRManager.HMDUnmounted += PauseGame;
        OVRManager.HMDMounted += UnPauseGame;
        OVRManager.VrFocusLost += PauseGame;
        OVRManager.VrFocusAcquired += UnPauseGame;
        audioSource = GetComponent();
    }

    private void OnDisable()
    {
        OVRManager.HMDUnmounted -= PauseGame;
        OVRManager.HMDMounted -= UnPauseGame;
        OVRManager.VrFocusLost -= PauseGame;
        OVRManager.VrFocusAcquired -= UnPauseGame;
    }

    private void PauseGame()
    {
        if (pauseObject != null)
            pauseObject.SetActive(true);
        Time.timeScale = 0.0f;
        if (audioSource != null)
            audioSource.Pause();
    }

    private void UnPauseGame()
    {
        if (OVRManager.hasVrFocus)
        {
            if (pauseObject != null)
                pauseObject.SetActive(false);
            Time.timeScale = 1.0f;
            if (audioSource != null)
                audioSource.UnPause();
        }
    }
}

No comments:

Turn on Windows 11 Fast Boot

If windows starting is slow, to enable windows 11 fast startup/boot,  Press Windows + R, type powercfg.cpl, and hit Enter.  This will direct...