cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Integration 31.0 Passthrough API does not work

korinVR
Expert Protege

Has anyone managed to enable the passthrough function?
https://developer.oculus.com/experimental/passthrough-api/

 

I've tried the Oculus Integration 31.0 passthrough sample scenes, but I'm getting the error "Failed to initialize Insight Passthrough. Passthrough will be unavailable." OVRManager passthrough related options are enabled. I confirm I'm using Oculus runtime v31 and OVRPlugin 1.63.0, and the experimental system property is enabled.

 

<uses-feature android:name="com.oculus.experimental.enabled" android:required="true" />
<uses-feature android:name="com.oculus.feature.PASSTHROUGH" android:required="true" />

>adb shell getprop debug.oculus.experimentalEnabled
1

 

It seems OVRP_1_63_0.ovrp_InitializeInsightPassthrough() fails.

53 REPLIES 53

Fectar
Explorer

I still haven't had any luck getting the passthrough to work. Hope someone else has a better solution!

 

Yeah no luck there. Even check the mode with getprop. Definitely experimental.

cazforshort_0-1628783467438.png

 

ArcueidDathemon
Explorer

Looks like I manage to enable it somehow, recreation of AndroidManifest and one of scene start working.

Anonymous
Not applicable

You should check which version of the Oculus XR Plugin you're using in the package manager. There was a recent preview version that addressed an initialization issue similar to the passthrough issue people are describing here (only works if splash screen is enabled).

 

[1.10.0-preview.1] - 2021-05-19

  • Fixed issue #1325113, where hand tracking was not working on Quest/Quest 2 when the Unity splash screen was disabled

You recreated AndroidManifest?

dilmergames
Explorer

Interesting, I've followed everything suggested here as well as doing many different tests but still no luck, all I see is a black background and no passthrough.

 

Here're my packages just in case someone knows the issue:

 

    "com.unity.xr.management""4.0.7",
    "com.unity.xr.oculus""1.10.0",
 
Unity Version: 2020.3.16f1
 
I've also tested every single passthrough scene under SampleFramework > Usage > Passthrough > Scenes 
 
I will keep testing and if I fix it I will post the solution.
 
Thanks everyone

 

How do you do run-time loggins on Quest 2?

I normally use adb under platform tools and logcat which then I use the results by piping to a text file as follows:

 

C:\Program Files\Unity\Hub\Editor\2019.4.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools> .\adb.exe logcat > C:\temp\log.txt

Just what I needed. Thanks!

 

korinVR
Expert Protege

I've just found the Passthough API only works on IL2CPP/ARM64. It might be one of the pitfalls.

 

I brought confusion by starting this thread, so I wrote a step-by-step guide to build the passthrough scene.

 

- Create a new 3D template project with Unity 2021.1
- Open Build Settings and switch to Android platform
- Open Project Settings and switch "Color Space" to Linear
- IMPORTANT: And change "Script Backend" to IL2CPP and enable "ARM64" Target Architectures only
- Open Project Settings > Install XR Plugin Management and click "Install XR Plugin Management", enable "Oculus" plugin
- Import Oculus Integration 31.0 (and click "Yes" "Restart" "Upgrade" when dialogs appear)
- Open the "AugumentedObjects" scene in Assets/Oculus/SampleFramework/Usage/Passthrough/Scenes
- IMPORTANT: Select OVRManager and enable "Experimental Features Enabled" and "Passthrough Capability Enabled" (I feel the line "Requires Experimental Passthrough Capability enabled in the project settings" below is a bit confusing)

 

- IMPORTANT: And you need to enable the Quest experimental system property. This property will be reset when you reboot the Quest.
  - Open Package Manager and install "Android Logcat" from Unity Registry
  - Open "Window > Analysis > Android Logcat" (make sure Quest is connected)
  - Select "Tools > Open Terminal" from the top-right button
  - Execute "adb shell setprop debug.oculus.experimentalEnabled 1"

 

- Back to Unity and "Build and Run"

 

Now it should work 🙂