Skip to main content
korinVR
Honored Contributor
August 12, 2021
Solved

Oculus Integration 31.0 Passthrough API does not work

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.

    korinVR
    korinVRAnswer
    Honored Contributor
    August 13, 2021

    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 🙂

    Katsuomi Kobayashi ( @korinVR ) at FrameSynthesis Inc.

    53 replies

    Participant
    August 12, 2021

    Same thing

    New Participant
    August 12, 2021

    Can confirm it doesn't work. Tried pretty much everything and it still fails. Seems to be related with 1.63 Oculus utilities dll. 

    New Participant
    August 12, 2021

    The same here, seeing black color instead of passthrough. Seeing passthrough only when exiting boundaries.

    New Participant
    August 12, 2021

    Same here

    korinVR
    korinVRAuthor
    Honored Contributor
    August 12, 2021

    Hi, I've solved my problem. It works!


     

    Looks like disabling "Show Splash Screen" causes the passthrough initialization failure. Here is the log.

     

    "Show Splash Screen" disabled

    2021/08/12 22:05:10.535 28655 28721 Info OpenXR_Passthrough ------------ xrCreatePassthroughLayerFB -----------
    2021/08/12 22:05:10.535 28655 28721 Warn Telemetry [OpenXR_Passthrough] createCompositionLayer failed; -5
    2021/08/12 22:05:10.535 28655 28721 Error OVRPlugin Failed to create a passthrough layer with error -1000118000 (Software/OculusSDK/Integrations/OVRPlugin/Main/Src/Util/InsightMrManager.cpp:205)

     

    "Show Splash Screen" enabled
    2021/08/12 22:06:20.774 28892 28914 Info OpenXR_Passthrough xrCreatePassthroughFB: Created Insight MR Passthrough feature
    2021/08/12 22:06:20.774 28892 28914 Info OVRPlugin [Insight MR] Successfully initialized passthrough.

    Katsuomi Kobayashi ( @korinVR ) at FrameSynthesis Inc.
    Up and Coming
    August 12, 2021

    So how did you enable it? Seems enabled by default in playersettings and OVRCameraRig?

    Fectar
    Participant
    August 12, 2021

    Same here, been trying all de different demo's with no succes!

    Fectar
    Participant
    August 12, 2021

    I haven't, been trying the solution mentioned above, with the splash screen enabled. But no succes.
    Still getting "Failed to initialize Insight Passthrough. Passthrough will be unavailable."

    Fectar
    Participant
    August 12, 2021

    This page helped me a lot!
    https://developer.oculus.com/experimental/passthrough-api/

    Step 1: make sure the device is expermintal enabled;
    adb shell setprop debug.oculus.experimentalEnabled 1

    Step 2: Enabled experimental in Unity (this isn't default in the test scenes!!!)
    OVRCameraRig ->  Experimental Features Enabled and Passthrough Capability Enabled

    Up and Coming
    August 12, 2021

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

     

    Fectar
    Participant
    August 12, 2021

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

     

    Participant
    August 12, 2021

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

    Up and Coming
    August 12, 2021

    You recreated AndroidManifest?