Passthough not working with Unity Editor, build/run works fine
I start this with the full knowledge that the loose nut behind the wheel could be me. I had passthrough working, both my stuff and the Oculus demos. I could build and run or test stuff inside the Unity editor by hitting "Play". It was all working right up until I botched an install of 2021 and things stopped. I have since reinstalled (multiple times...) everything.
The project I'm testing with is a floating cube in front of the OVRCameraRig. I've gone through all the settings/recommendations from previous community posts, specifically the guide from Anonymous and the youtube video: https://www.youtube.com/watch?v=9u3QQi6Gnx0&ab_channel=ValemTutorials
- Running "adb devices" at the command line shows the device is authorized.
- Oculus Integration 34.0
- Oculus Quest version 35.0.0.117.341.<other numbers>
- Oculus Quest runtime version 35.0.0.118.341.<other numbers>
I can build and run apps with passthrough, I just can't get them to appear in the headset via the Unity Editor when I hit Play. Sometime I get the hourglass, sometimes I get an outline of the cube, flickering badly.
The error on the console:
Failed to initialize Insight Passthrough. Passthrough will be unavailable. Error Failure_NotInitialized.
UnityEngine.Debug:LogError (object)
OVRManager:InitializeInsightPassthrough () (at Assets/Oculus/VR/Scripts/OVRManager.cs:2283)
OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1550)
OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1565)
Which can be tracked back to the OVRP_1_63_0 DLL call in OVRPlugin.cs
if (version >= OVRP_1_63_0.version)
{
Result result = OVRP_1_63_0.ovrp_InitializeInsightPassthrough();
if (result != Result.Success)
{...
I'm on Window 10 and I've tested with Unity versions:
- 2021.2.5f1
- 2020.3.22f1
- 2020.2.24f1
Same Error...
I doubt it's a hardware problem. Quest plays half life Alyx like a champ over Air Link. Lastly, I've got a box full of good quality USBC cables and I've tried them all.
Any thoughts?
Passthrough simply doesn't work that way you expect it to work! It is designed to work in builds only! This has been made for privacy reasons (so that no one would maliciously record your surroundings). Passthrough data never gets rendered inside Unity, it never reaches the eye buffer, so there is no way of accessing it through your Unity project.