Search Unity

Getting Quest Link to work in Unity

Discussion in 'AR/VR (XR) Discussion' started by DigitalAdam, Nov 20, 2019.

  1. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    ~~ UPDATED ~~

    Good news... with Link you're now able to "Play" your scene WITHOUT building the apk!

    1) Have the Oculus Software on the Quest updated to the latest.
    2) Install the latest Oculus desktop software and have that updated to the latest.
    3) Install the latest version of Unity (I did not install the Beta).
    4) Create a new 3D project - not HDRP or LWRP/URP.
    5) Go to Build settings, enable Android with the ASTC texture compression.
    6) Go to Player Settings > Other, enable Android KitKat 4.4, remove Vulkan under rendering.
    7)Go to Player Settings > XR, enable Oculus.
    8) Install 'Oculus Desktop' from the Package Manager if you want to run the scene when you press the Play Button.
    9) Plug in the Quest via USB, put on the Quest and accept the Link Beta popup (you should see the Rift home-room, not Quest's), press the Play button in Unity, put your Quest back on and it should all work.
    10) That's it!!

    If you're getting a warning in the Oculus Desktop software that "A Quest software update is required for Oculus Link (Beta). Install the update from the About section of Settings in your headset." and you CAN'T update your Quest because it's already at the latest version, you need to go into the Oculus Desktop app: 'Settings > Beta' and TURN OFF the Public Test Channel. That should fix your problem.

    Happy Questing!

    ---------

    P.S. if you're just building an apk to the Quest, don't accept the 'Link Beta' popup, and accept the 'Allow Quest to Access Your Data' popup. You should be able to build to your Quest and it should auto load your app in the Quest if you follow the above steps. Sometimes it doesn't work for me right away, so I needed to unplug the USB to the Quest, re-plugin the USB or reboot the Quest, decline/accept the popups again, then rebuild.

    If you're trying to find your build on your Quest it's under: 'Library > Unknown Sources'.
     
    Last edited: Feb 2, 2020
  2. doctor_di

    doctor_di

    Joined:
    Jan 19, 2019
    Posts:
    3
    Unity Play mode has not worked for me yet, not even with out of the box examples and I have the Oculus recommended cable. My cable works for Link and playing Rift games, but no luck on Unity Play mode. So sick of troubleshooting Unity builds, I'm headed over to check out Unreal to build for the Quest. This is bull.
     
    Evinewyork and vagraham like this.
  3. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    What version of Unity are you using? I'm running the latest Unity version, and have the latest Oculus software app on my PC. Once you configure your Player settings in Unity by enabling VR and selecting Oculus, it should work. Once you plugin your Quest using the USB cable, the Oculus App should launch and load your scene. If it doesn't, try starting the Oculus app, and see if the Rift home area loads (not the Quest home area). If it does, then try pressing the Play button on your scene.
     
  4. Evan-Greenwood

    Evan-Greenwood

    Joined:
    Aug 6, 2008
    Posts:
    98
    This also doesn't "just work" for me. The Oculus Link app starts running in my quest when I plug it in (and enable it), but when I hit play in Unity nothing happens.

    Is this a very latest version of Unity thing? I'm running 2019.2.8 ...?

    I'm not getting any error messages and I can't see anywhere in the Oculus App where it would tell me if this feature can be supported or cannot be supported.

    I'm going to upgrade to a more recent version of Unity and see....
     
  5. olejuer

    olejuer

    Joined:
    Dec 1, 2014
    Posts:
    211
    For me, this is working after a bit of effort. I ran into some trouble with inconsistent versions of the Quest software and Oculus software on my machine. Make sure, those are aligned. It might require you to opt in or opt out of the public test channel of the Oculus software.
    I'd also suggest to unplug other VR devices you might have attached to your PC just in case.
    I would think that the Unity side of this does not really care if it is a Quest or Rift you have attached. Shouldn't the Oculus app be an abstraction layer for this?
    Also, and this is important, if you develop for Oculus Quest using Link, you should still build and test an apk frequently. There are differences and you want to catch issues early! Especially when it comes to URP, or rendering in general for that matter, some things just do not work in android builds.
     
    seanbiganski likes this.
  6. Deleted User

    Deleted User

    Guest

    After a couple days finally got it working (although to be fair I am using a 1060 which doesn't appear to be supported). Using the oculus basic scenes still don't work but VRTK example scenes are. Also adding the Desktop panel method did not work for me. I simple stay in the lobby area and hit play on one of the VRTK scenes and that works right now.
     
  7. TheCircadian

    TheCircadian

    Joined:
    Jul 30, 2016
    Posts:
    16
    For me Installing the Oculus Desktop did the trick!

    I think between the "Enable XR Settings" in Player Settings, and Installing the "Oculus Integration" from the Assets Store, the "Oculus - Android" package is automatically installed, although there's another package for "Oculus - Desktop" that doesn't automatically install.

    Thanks!
     
    seanbiganski, DigitalAdam and fuzzy3d like this.
  8. mgolino3

    mgolino3

    Joined:
    Mar 15, 2019
    Posts:
    9

    I was struggling with this today after just getting a link cable. The missing piece was the "Oculus Desktop" package. Thank you so much for posting this @adamz this is the only place I found that talked about needing that since I previously just had the Oculus Android package.

    THANK YOU. And good luck to anyone else that stumbles on this post in the future!
     
    DigitalAdam likes this.
  9. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    You're welcome. Glad you got it working.
     
  10. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    I updated the steps at the top of the thread to make it easy for people to find them. Any problems let me know and I'll try to help.
     
  11. Deleted User

    Deleted User

    Guest

    Hello!

    I followed the steps above and still getting to response from the Quest..

    My home scene in the Quest was the Quest Home and not the Rift Home..

    I did get this error though..

    "Virtual Reality SDK Oculus failed to initialize.
    Will attempt to enable Oculus instead."

    Oculus then didn't work so it then jumped to OpenVR, which then did not work, so then it looks like it jumped to "None".

    This scene did work for Rift (and Quest Link when built) back when it was set to Standalone as it's platform..
     
    Thoronnim_Crystalia likes this.
  12. Deleted User

    Deleted User

    Guest

    I'm also using Unity 2019.2.17f1 :)
     
  13. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    If you have the latest version of the Oculus Desktop software installed on your PC and your Quest is up-to-date, when you plugin the USB do you get a popup asking you to enable Link? If you do and hit accept, you should see the Oculus Rift home room. If that's working then at least you know the desktop software is communicating with your Quest.

    As to your SDK failing, I would try to create a new project and follow the steps at the top of the thread. Other than that suggestion, I'm not sure what else I can help you with. I'm just a guy who's developing a Quest app in my free time, so I just wanted to post some of my steps to get it working as well as solutions to the problems that I ran into. :)

    I know v13 update for the Quest is rolling out this week, so maybe that will help too...

    Good luck!
     
  14. jkh0208

    jkh0208

    Joined:
    Aug 23, 2019
    Posts:
    18
    Oculus Link was working great for me previously for my voice recognition VR app, but after update 12 came out for the Quest, the mic stopped working. Version 13 didn't seem to fix it either.
     
  15. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    It was mentioned by Oculus dev back when v12 came out that mic has been disabled on purpose and will be awhile before it will be coming back.
     
  16. jkh0208

    jkh0208

    Joined:
    Aug 23, 2019
    Posts:
    18
    Ah, I must have missed that in the log. I can't seem to find a way to downgrade back to v11, which is really unfortunate since I bought this device specifically for this purpose and my thesis capstone is suppose to be presented next month, and my thesis advisor already paid for travel for this presentation.
     
  17. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    You can use a regular PC mic as you are near the computer anyways due the cable.
     
  18. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    300
    Currently, If I'm not able to use Post-Processing with Oculus Link. the play screen just turn grey.
    Is there a way around this?

    Edit- the build apk worked fine
     
  19. Mazzeman

    Mazzeman

    Joined:
    Mar 3, 2017
    Posts:
    7
    Followed the steps above, have tried different versions of 2019.
    Now I'm running 2019.2.21f and I cannot run Oculus link, I'm getting the following errors:

    upload_2020-2-20_8-59-36.png

    Claiming I don't have the SDK installed. Anyone encountering the same issues?
     
    Thoronnim_Crystalia likes this.
  20. Thoronnim_Crystalia

    Thoronnim_Crystalia

    Joined:
    Jan 24, 2017
    Posts:
    29
    Yes, I'm facing the same problem since two days... I tried tens of different solutions, but nothing solves it!
     
  21. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    this could happen for a few different reasons, but if in your Unity project all worked fine before (so you have all the needed things installed/enabled) and then it suddenly by itself does not work anymore, then a common issue in my experience is that there is an Oculus update and you first have to install that in the oculus desktop app to have things work again in Unity.
    When you open the Oculus desktop app you can see in the updates section if there is an update and install it.
    It also there in the release notes states some compatibility info sometimes.
    Right now one needs a certain version on desktop to match a certain OS update version on the Quest.
    Sometimes it is the pre release channel release, sometimes the stable channel release.
    Check the release notes in the updates in the oculus desktop app to go sure you have the correct combination of things installed in the oculus desktop app for that particular OS version on your Quest.
     
  22. Follet

    Follet

    Joined:
    May 18, 2018
    Posts:
    38
  23. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    274
    If you are using Unity 2019.3 you do not need the step 8 "Install 'Oculus Desktop' from the Package Manager."

    But you need to activate the XR Plugin Oculus Loader for PC
    upload_2020-2-28_12-14-39.png
     
  24. fuzzy3d

    fuzzy3d

    Joined:
    Jun 17, 2009
    Posts:
    228
    Hi, testing Oculus Quest Link on HP Omen notebook (RTX 2070 Max-Q):
    upload_2020-2-29_17-51-12.png

    Oculus debug tool:
    upload_2020-2-29_17-54-38.png

    PC:
    Oculus App Version 14.0.0.140.710 (14.0.0.140.710)

    Cable:
    2 meters from Axagon:
    https://www.axagon.eu/en/produkty/bucm3-amxxg
    + 5 meters extension cord from this set:
    https://www.amazon.de/gp/product/B083NTSVLH/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
    3m cable from this set is not working, 5m extension yes, so I have now 2+ 5m Link cable.

    Resolution could be better (compared to HTC Vive Pro), but at least I have no problem with AA :)
     

    Attached Files:

    Last edited: Mar 1, 2020
  25. stippy

    stippy

    Joined:
    Mar 1, 2020
    Posts:
    9
    Would mean then:
    1) Have the Oculus Software on the Quest updated to the latest.
    2) Install the latest Oculus desktop software and have that updated to the latest.
    3) Install the latest version of Unity (I did not install the Beta).
    4) Create a new 3D project - not HDRP or LWRP/URP.
    5) Go to Build settings, enable Android with the ASTC texture compression.
    6) Go to Player Settings > Other, enable Android KitKat 4.4, remove Vulkan under rendering.
    7) Activate the XR Plugin Oculus Loader for PC
    8) Under XR Plugin Management -> Oculus: click the create button and set the Stereo Rendering Mode to ???
    9) Plug in the Quest via USB, put on the Quest and accept the Link Beta popup (you should see the Rift home-room, not Quest's), press the Play button in Unity, put your Quest back on and it should all work.

    ---> Apparently I am missing a step, as pressing play button just does nothing but starting the static camera in Unity and not showing anything (apart from oculus link home) on the quest side. Building the .apk and running works. Oculus Home (PC) is version 14 and quest is also version 14, so should be up to date.
     
  26. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    274
    @stippy at step (8) you should activate it for PC & for android. The both of it.

    In my experience, the step (5) is not required
     
  27. stippy

    stippy

    Joined:
    Mar 1, 2020
    Posts:
    9
    Ah, that was my mistake. Did only do it for PC, not Andorid too. Thank you very much, works like a charm now =)
     
    Fangh likes this.
  28. danrayrollan98

    danrayrollan98

    Joined:
    Jul 4, 2019
    Posts:
    1

    How did you enable the Oculus Link Cable in 2019.3 ?? I'm using a new framework the XR interaction toolkit
     
  29. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Oculus Desktop/Quest v14 with Unity 2019.3.3 requires very few steps now. I had a week of back and forth with Oculus support, but eventually got it working today.

    Pre-amble (things that can prevent it working and will give you NO error message (I learned the hard way)...
    1. (Lesson learned): Oculus currently has no software detection for "is this a USB3 cable or not"? So ... Make sure you have a USB3 cable (not USB2 - they look identical, and if the vendor doesn't say USB3 specifically, it's USB2). I had a broken USB3 cable, and a USB2 cable that was marked as USB3 (argh!). The main giveaway is the quoted transfer speed: 480Mbps = USB2, 5Gbps = USB3 (for the cable, not the port!)
    2. Check you have latest: motherboard BIOS, Windows10 update (v1909 today), USB3 drivers (most people have AMisMedia drivers - windows should show them as AmisMedia31 in Device Manager)
    3. Oculus Desktop: v14
    4. Quest: v14 (should have rolled out to everyone by now)
    5. If it's all working, run Desktop, go to Devices > Setup Quest ... then plugin Quest, put it on your head and you should automatically get a popup asking about Link. If you do not - if you need to manually go into Quest settings to enable Link - then Link is probably broken / not going to work (I found as soon as I had a decent cable, the Link popup came automatically, didn't need to try manually enabling it any more (v14 Quest onwards))

    Upgrade a non-VR project / Create new VR project. Start with Unity2019.3.3 - any non-VR project works fine (I tested with a Unity 5.x project that has been upgraded > 2017 > 2018 > 2019):
    1. Open Edit > Project Settings .. then from Project Settings:
      1. XR Plugin Management > Install
      2. XR Plugin Management > Plugin Providers > + > Oculus Loader
      3. XR Plugin Management > Input Helpers > Install Legacy Input Helpers
      4. XR Plugin Management > XR Tracking > "Add Tracked Pose to ..." (or do this manually in your Hierarchy)
      5. (optional - not needed to get Play working, but you'll want to do it eventually) XR Plugin Management > Oculus > Create
    2. Oculus Desktop > Settings > General > Unknown Sources > Enable
    3. Hit play in Unity
    NB: you don't need to touch the Android settings, or build settings, at all ... you'll need those eventually in order to make a build, but just to develop and test with Play mode? Not needed, works fine without.
     
    mandisaw likes this.
  30. xtr33me

    xtr33me

    Joined:
    Nov 2, 2011
    Posts:
    90
    OMG! I have been seriously trying to figure this out off and on for a week now with the new XR Management. I couldn't get the ability to play in the Quest via the Unity play button and it now works! Thanks soooo much.
     
    jipsen and Fangh like this.
  31. VincentSerpico

    VincentSerpico

    Joined:
    May 15, 2018
    Posts:
    5
    THANK YOU!
     
    Fangh likes this.
  32. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    I did all of the above.. & was still not working. & then I RESTARTED MY COMPUTER.. restarted Unity & now it Plays to the Quest fine. :)
     
  33. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    To be clear: restarting the computer shouldn't be necessary.

    (great that it worked for you, but it's only a last-resort. My guess? You had pending Windows updates / driver updates / USB updates that only finished installing when you rebooted - Oculus specifically states that out-of-date drivers and USB drivers can prevent it working)
     
  34. gamedevbill

    gamedevbill

    Joined:
    May 25, 2018
    Posts:
    43
    While the summary at the top of this thread is very close to that worked for me, I went ahead and wrote up a full post on this topic. I had to change a couple steps (such as switching the package to Oculus XR Package).
    Overall, this thread got me most of the way there, i just wanted to create a space with screenshots, more details, and some tweaks.


    https://gamedevbill.com/how-to-use-quest-link-in-unity/

    I'll now keep an eye on this thread, so let me know if the write up needs fixing or clarifying.
     
    ROBYER1 likes this.
  35. KevinWong

    KevinWong

    Joined:
    Apr 5, 2013
    Posts:
    1
    My project / game works quite well when my quest plug to pc and play.
    But when it is unlinked and play in quest, the game become very laggy.
    Is it normal?
    thanks!
     
  36. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
  37. gamedevbill

    gamedevbill

    Joined:
    May 25, 2018
    Posts:
    43
    Normal is hard to say, but it's not surprising. Especially if your computer is fairly powerful. Link emulates a Rift setup, where your PC is doing the heavy lifting. I can even plan Half-Life: Alyx over link. No way I'm playing that as a native quest app.

    So it's definitely something to be careful of. Sounds like it's time to do some optimization. :(

    gdb
     
  38. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    [EDIT] I've just updated to Unity to XR interaction plugins.... I notice now that you need to click a button in Player Settings >> XR settings to set up the camera tracking... as per image QuestCamera Tracking.JPG
     
  39. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    It's even better than that - it actually uses both your desktop GPU and the Quest's mobile GPU and the desktop CPU. It's a very interesting system (and Oculus has a detailed writeup on their website).
     
  40. gamedevbill

    gamedevbill

    Joined:
    May 25, 2018
    Posts:
    43
    I've now also put this in video form. Just in case that's someone's preferred medium, though odds are you wouldn't be on the forums if it was :)

     
    adamhill and PsiconLab like this.
  41. banaans

    banaans

    Joined:
    Feb 18, 2019
    Posts:
    2
    Thank you so much that did it for me
     
  42. M875

    M875

    Joined:
    Nov 1, 2020
    Posts:
    1
    @adamz thank you very much! It works as you instructed for the Quest 2 aswell! build- player settings, package manager plugins etc are crucial for a project. My biggest mistake was I did not check in Link mode. I tested with a converter and a USB3 A-C cable both works fine, converter was the cheapest solution with the provided USBC cable from Oculus.
     
    Last edited: Nov 30, 2020
  43. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    Im glad you got it working.
     
  44. ClaudiaKrog

    ClaudiaKrog

    Joined:
    Sep 30, 2017
    Posts:
    47
    I have an interesting problem in which the Unity scene appears to be melting when viewed in the Quest headset with Link enabled, playing the scene from the Unity editor. The scene looks fine when viewed on the computer. I have the same melting scene in VR problem with the built application. I think the issue is that I am using an EEG device connected with bluetooth in Unity. I tested other scenes without the EEG device code, and the issue does not occur with those scenes. So it seems the issue may be from Unity acquiring data from the bluetooth/USB connection. Is there any way to increase the performance in Unity so that the scene does not appear to be melting? The scene is very simple, it is just a plane and an animated character
     
  45. NemesisWarlock

    NemesisWarlock

    Joined:
    Jan 21, 2017
    Posts:
    141
    the "melting screen" issue is actually due to async timewarp, I believe. double check your cables and run the Oculus Link test. are you running in USB2 or 3?
     
  46. harperAtustwo

    harperAtustwo

    Joined:
    Nov 15, 2016
    Posts:
    25
    Hey, I was a little lost as to why it was not showing up via link after following all setup directions in the new workflow. For me, I missed a step where in the XR plugin, you have to enable Oculus not just for your android build but for your desktop build as well.
    xrsettings.PNG
     
  47. ulthien

    ulthien

    Joined:
    Apr 25, 2020
    Posts:
    12
    The link is working, in the new Oculus sw version it is enabled on the right-hand side of the settings panel, has own button name "LINK" when the usb connection is detected, and that brings you to Rift lounge room.

    Still, starting the Unity in run mode does no -thing and does not show the app on the oculus quest itself.

    Very strange, confusing, versions overlapping, no clear determination nor debugging to solve it.

    Reeks of unprofessional on all corners.
     
    unnanego likes this.
  48. samjtwestlake

    samjtwestlake

    Joined:
    Jun 29, 2020
    Posts:
    1
    I had 'build and run' working but even with oculus link setup hitting play only ran within the Unity editor.
    Realised I had forgotten one setting. Within XR Plug-in management section of Player settings I had the Oculus checkbox ticked only for the Android platform, because the play mode runs from Windows I think I needed to tick the Oculus checkbox for the Windows platform too.
    After that hitting play ran it on my Quest.
    Hope this helps someone
     
  49. timmccune

    timmccune

    Joined:
    Sep 27, 2018
    Posts:
    29
    I had a hard time getting a build and run to work. i had switched build to Android, Texture Compression to ASTC, then ticking Oculus in the project settings XR Plugin Management section. I Added the Oculus Integration package from the asset store and set up a scene. After Linking headset and doing a build and run, It kept telling me the device wasn't connected, but the Oculus desktop app said I was. I ended up finding that in the mobile app I had to go to Device then turn developer mode on. Then after putting headset on, it asked if I wanted to give this computer USB debugging. After selecting Yes, I was able to see my device in the build settings: Run Device list. Selected it and hit build and run and it worked. Hope this helps.
     
  50. Froggyevan

    Froggyevan

    Joined:
    Sep 16, 2021
    Posts:
    1
    Thankyou so much. I searched and searched the internet and this is the first successful thing I came by.