Search Issue Tracker

Won't Fix

Votes

0

Found in

5.4.1p1

Issue ID

833331

Regression

No

[VR | Editor] Editor gets into a bad state after OpenVR fails to initialize

XR SDK

-

[VR | Editor] Editor gets into a bad state after OpenVR fails to initialize

BUCKLE UP FOR THIS ONE
PLS read the whole report!
and don't hesitate to ask if you need help reproducing the problem... :D

1. What happened

After entering playmode with the CV1, OpenVR enabled, BUT OpenVR not started on Steam I got:
"VR: OpenVR ERROR! Compositor failed initialization with error code VRInitError_IPC_CompositorInvalidConnectResponse: "Shared IPC Compositor Invalid Connect Response (307)"!"
then, I took out the OpenVR plugin in the SDKs list and added Oculus.
I entered playmode. Nothing rendered to the HMD. There was no head tracking.
I restarted the Oculus Runtime then entered playmode. Nothing rendered to the HMD.
Finally, I restarted Unity and opened the same project, entered playmode and everything rendered/headtracked just fine.
It seems that the Unity editor gets into a bad state after the OpenVR Error.

I also found that if I got OpenVR to successfully initialize, even after getting the above error, it would put the editor into a good state again.

2. How we can reproduce it using the example you attached
1) Download the attached project
2) Ensure that VR mode is enabled and OPENVR is the first and only SDK in the list
3) Setup the CV1
NOTE: DO NOT open SteamVR or OpenVR clients through steam, it is neccessary for it to be closed in order to get the OpenVRError noted above.
4) Enter playmode
5) Observe the error "VR: OpenVR ERROR! Compositor failed initialization..."
NOTE: If you do not get the error, exit playmode, close SteamVR and associated compositor, and enter playmode again. Do this until you get the error!
6) Observe the headset doesn't have headtracking, rendering, etc. (This is all fine, the OpenVR SDK said it had trouble [remember the error?] initializing so we're covered)
7) Exit playmode
8) Put the Oculus SDK into the VR SDKs list,
9) Remove the OpenVR SDK from the list
10) Close SteamVR
11) Enter Playmode
12) Observe that there is no rendering to the HMD, and no headtracking, not even an error. This is the BUG!
NOTE: You may be able to see Oculus Home with the fireplace and everything at this point too!

Additionally, restarting the Oculus Runtime does not fix the issue:
13) Exit playmode and Restart the Oculus Runtime
14) Enter playmode once the Runtime Restarts
15) Observe that there is no rendering to the HMD, no headtracking, etc.

I found that Unity is skipping over the Oculus runtime and is falling back to device 'None'. I tested this by adding the split stereo device to the bottom of the list after Oculus and entering playmode. Unity would skip over Oculus and fall back to the Split Stereo device while in this bad state.

There were 2 ways to get Unity back into a good state where it could use the Oculus runtime again.

1) Successfully initialize the OpenVR runtime. (Do this by having the SteamVR client running and ready to go before entering playmode)
2) Restarting Unity.

Occurs up to 5.5b4

License type: Free

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.