Unity Oculus Quest



Oculus

A while ago I got an Oculus Quest and began developing in Unity for the headset. Only recently, however, did I get a computer that supported Link. Using Quest Link in Unity’s Play Mode has been a complete game changer.

With this new mode, I can now use the in-editor Play Mode to interact in VR. No player build required! Each change in code or content used to take minutes to build and deploy, now can be done in a couple seconds at most.

For a video version of these steps, see below.

I was expecting setup to be fairly straightforward, but it was not. I found a few forum posts that had most of the instructions that I needed, but couldn’t find a single source with current and complete info. So I decided to gather those notes, modify them to what worked for me, and post it here. Please ping me on Twitter or comment on the forum if anything isn’t working for you.

Once you have the OVRPlayerController in the scene, you can configure the target VR device: Oculus Quest or Oculus Go. Open the OVRPlayerController in the Hierarchy and select the OVRCameraRig child object. In the Inspector find the OVR Manager (Script). Under Target Devices select either Quest or Gear VR or Go. Find games tagged Unity like Gaming Late at Night, CHEF RAMSAY, Dying of Thirst, Nightmare Shift, Dark Fellows on itch.io, the indie game hosting marketplace.

  1. The Unity Profiler tool can be used to collect performance information about your app by building and running it on Oculus Quest. Unity Profiler can be useful for developers that want to profile performance directly from the Unity development environment.
  2. Available soon at: is a VR multiplayer game for Oculus Quest 1 an.

And if it is working, a follow on Twitter, a download of my free shader graph node, or a purchase of a recommended asset is always appreciated.

These should be valid for Unity 2019.3+

This article may contain affiliate links, mistakes, or bad puns. Please read the disclaimer for more information.

How to Setup Quest Link in Unity

I’ll go into details below, but at a high level, here are the steps needed to setup Quest Link in Unity:

  1. Ensure you have a powerful enough computer and the right (10ft) cable
  2. Install Oculus Desktop
  3. Open the Rift home screen in your headset.
  4. Open or create VR/XR Unity project
  5. Install Oculus XR form package manager.
  6. Switch to Android or Standalone platform.
  7. In Player Settings, add Oculus Loader to the XR Plugin Management.
  8. Press the Play button in Unity. Put the headset on.

Step 1: Get the Right Hardware

Oculus Link is in beta, but you can see the latest hardware requirements on the Oculus website. In addition to the right computer, you need the right cable. The one that shipped with your Quest will not do.

The official Oculus cable for Link is expensive, and generally sold out. So in its place, I recommend this alternative. Note that it comes in different sizes, but you almost certainly want the 10ft.

October 2020 Update – I’ve had the alternative for about 7 months now, and it has started to have more disconnects. I’m not totally sure if it’s the cable or my computer. I have upgraded to the official cable, and things seem to be running more smoothly. It is still hard to find in stock, but if you are willing to pay the extra money, you could try here. Generally my recommendation is to get the cheaper one if you are just using it lightly, and the official one if it is a much more regular thing.

Step 2: Install Oculus Desktop

The Oculus Desktop software is built around the Rift. Originally you could only download it by going through the RiftS setup, but now they have a dedicated download for the Link setup.

During setup, you’ll need to plug the headset in using that fancy USB cable mentioned above. As you go through the setup, Oculus Desktop will verify that the linkage is working and your system meets the requirements.

Step 3: Open Rift Home Screen

Oculus quest unity template

There isn’t much to be done on this step other than make sure that it works. With the headset plugged into the computer, put it on, and hit the “Enable Link” button. This button should show up automatically when you plug in, but if it doesn’t, it’s available on main Quest toolbar near the battery power indicator (left side of toolbar).

Assuming you can see a very different home screen than the normal Quest home, you should be good to go. Just make sure it is open in this mode before hitting play in Unity.

Step 4: Open or Create VR/XR Unity Project

I’m going to assume you’ve successfully set up your VR project. If that part throws you off as well, let me know in the comments or on Twitter and I can work on a how-to for that.

The main point i want to make here is to point out some aspects of your app that Link doesn’t care about, because I’ve seen some misleading info online. For one, you don’t actually need the Android settings in place. If you want to deploy a built player to the Quest you will need those settings, but not to use Link in play mode. You also don’t need to stick with the built in renderer. You should be able to use it or URP. I believe HDRP doesn’t yet support VR, but URP does.

Step 5: Install Oculus XR Package

To get Unity to interact with the Oculus Desktop software, you need the Oculus XR package installed. This is available in Window->Package Manger. Note, many places online reference the Oculus Desktop package, but that info is out of date. The Oculus Desktop package is obsolete, and Oculus XR is what you now need.

Step 6: Switch to Standalone or Android

When you are using Link in play mode, it should work for any platform. Windows Standalone and Android are the main two I could think you’d care about, but it actually shouldn’t matter. The reason I have this step here at all, is not so much to make sure you take the step, but to make sure you know it’s not super important.

When running Oculus Link, your Quest is essentially emulating a Rift. Rift devices run on Windows, not on Android. And when you are in the editor, your editor is running on Windows. So at the end of the day, as long as play mode works, it should work in Link. For me, Standalone Windows works more reliably than Android, but that’s anecdotal, so take it for what it’s worth.

Many other setups I’ve seen mention being in Android mode. This is what mode you need to be in to build the player, and actually run it on-device. But this is not required to do Link in Play Mode.

Oculus

Step 7: Add Oculus Loader in Settings

To get play mode to connect to the actual device, it needs the proper settings configured.

  • From the Build Settings window open Player Settings.
  • Select XR Plugin Management
  • Add Oculus Loader for whatever platforms you want to use. I recommend adding it to both standalone and Android to be safe.

Step 8: Press Play. Wear Headset.

Unity oculus quest controller input

Lastly, hit play, and enjoy using your VR headset without leaving the comfort of your editor. Quest Link in Unity takes it from there.

Unity Oculus Quest Quickstart

Wrapping up Oculus Link

Unity Oculus Quest Tutorial

Hope this helps. Using Quest Link in Unity is a huge time saver for anyone doing Quest development. If there are any issues, again, feel free to reach out on Twitter. Or just reach out to say hi.

Unity Oculus Quest 2 Tutorial

If you are doing some Quest development, be sure to check out my shader tutorials, especially the Shader Graph specific ones.

Unity Oculus Quest Demo Avatar

Oculus

Do something. Make progress. Have fun.