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();
        }
    }
}

Wednesday, August 1, 2018

type or namespace Oculus could not be found while trying to include "using Oculus.Platform" in Unity


Make sure you install Oculus Utilities & Oculus Platform packages both

https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/
https://developer.oculus.com/downloads/package/oculus-platform-sdk/

If TestEntitlementCheck failed while running OculusVRCValidator

Sample Entitlement check file

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 UnityEngine;
using System.Collections;
using Oculus.Platform;
using UnityEngine.Events;
using UnityEngine.SceneManagement;

public class EntitlementManager : MonoBehaviour
{
 
    public string appId;
    public static bool entSucceded = false;

    void Start()
    {
        // Core.Initialize(appId);
        if (!entSucceded)
        {
            Core.AsyncInitialize(appId);
            Entitlements.IsUserEntitledToApplication().OnComplete(EntitlementChecked);
        }
    }

    /*
    void Update()
    {
        Request.RunCallbacks();
    } */

    void EntitlementChecked(Message msg)
    {

        // Ok
        if (!msg.IsError)
        {
            // Do what you want, load main menu
            // SceneManager.LoadScene("MainMenu", LoadSceneMode.Single);
            Debug.Log("Ent success!");
        }
        // Not Ok
        else
        {
            //UnityEngine.Application.Quit();
            SceneManager.LoadScene("EntFailed", LoadSceneMode.Single);
            Debug.Log(msg.GetError());
            entSucceded = true;
        }
    }
}

ERROR: Failed to receive a call for ovr_RecenterTrackingOrigin or ovr_ClearShouldRecenterFlag within 1 second of recentering request

Starting TestResponseToRecenterRequest
Waiting for the application to run for 5 seconds before testing begins...
Starting test...
Sending a request to recenter...
ERROR: Failed to receive a call for ovr_RecenterTrackingOrigin or ovr_ClearShouldRecenterFlag within 1 second of recentering request
Please refer to VRC Guidelines: https://developer.oculus.com/distribute/latest/concepts/vrc-pc-input-3/
Cleaning up...
Test FAILED


Solution: Attach OVRManager Script to an object in game

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...