Depthkit for the Oculus Quest

The following is a quick guide on building to the Quest. This guide will get you started with the Universal Render Pipeline and the VFX Graph.

This guide was created using Unity 2020.1.5f1.

Helpful Resources

Setting up your Project for Android

  1. Create a new 3D project via the Unity Hub. Import Depthkit Core and Depthkit Core VFX Graph via the Package Manager. See this post for a guide on importing Depthkit packages into your project.

  2. In your Build Settings, under Platform, switch your platform to Android and click Switch Platform. Under Texture Compression, select ASTC.

  3. Go to your Player settings via Edit → Project Settings. In the Other Settings section, set the Minimum API Level to Android 6.0 Marshmallow (API level 23). Set the Target API Level to Automatic (highest installed). Under Install Location, ensure that Automatic is selected.

  4. Still in your Project Settings, select XR Plugin Management and install the XR Plugin Management Package.

  5. Under XR Plug-in Management, select Oculus.

  6. Via the Package Manager, ensure Oculus Integration is imported.

Setting up your Depthkit Clip

In this tutorial, we are going to create a Depthkit clip with a Depthkit VFX Look.

Important Note: There is a Unity known issue in which VFX Graph geometry outputs are not supported for the Quest. When designing your VFX Look, ensure that you are using a point output.

  1. Under Assets, in your Samples folder, locate the Depthkit Clip + Core VFX Look prefab and drag it to your scene.

  2. Import your Depthkit clip, including the combined per pixel video file, metadata text file, and poster image. Select the Depthkit clip in the Hierarchy, see the Inspector, and link these files to your Depthkit clip.

  3. Create a new Depthkit VFX Look for your Depthkit clip by right clicking in the Project tab, select Create → Visual Effects → Depthkit VFX Look. For this guide, I’m going to create a basic point cloud Look.

  4. Double click the new Look to launch the VFX Graph editor. Right click the output block and select Convert. Select Output Particle Point to generate a point cloud output. Tweak the Look to achieve your desired aesthetic.

  5. In your Depthkit clip in the Visual Effect component, replace the Depthkit VFX Example Look with your new Look.

  6. In your Depthkit clip under the Depthkit Core Mesh Source, set the Mesh Density to low. This will improve performance for the Quest.

  7. In the Depthkit Core VFX Texture Source component, enable Use Power of 2 Size. This is optional, but acts as an additional optimization for your texture.

Now you are ready to build to the Quest. You can build and run directly to the Quest or side load the apk file to your device.

Super exciting ! Once I get my hands on the Software I will be testing the Quest 1vs Quest 2 Exports. Have you all tried to test the different hardware yet?

@dustygonzales we are in progress with testing various hardware combinations and super excited about the Quest 2! We look forward to keeping you posted once we have test results to share.

I’m building for Quest successfully apart from one major problem… When I use multiple Depthkit clips, they swap textures as they animate. How do I fix this? (Works fine with 1 clip). Thanks!

Aha. I’ve discovered switching from OpenGLES3 as the graphics API to Vulkan has solved the issue!

1 Like

Hey @Psicon_Lab! Can I confirm that you are using Depthkit plugin 0.2.7 when you are running into this issue?

Yes that’s right. I’m using Depthkit plugin 0.2.7

For the record, this video texture swapping problem is definitely to do with the way Unity processes/renders video data when the VideoPlayer component is set to API. I’ve just had the same issue with video swapping between 2 textures on non-depthkit objects. Using Vulkan did fix it for me again. Looks like Unity is to blame.