Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Oculus Quest Hand tracking in Editor

Discussion in 'AR/VR (XR) Discussion' started by green-giant, Apr 18, 2020.

  1. green-giant

    green-giant

    Joined:
    Jun 21, 2013
    Posts:
    43
    I am trying to get hand tracking working inside Editor, and running into some trouble.

    I just started a new Unity 2019.3.9f1 project with the Oculus Integration (version 15) from the asset store and XR Plugin. With the OVRCamera rig I turned on Hand Tracking support. I also added OVRHand prefabs for each hand, along with a HandsManager prefab. The hand tracking works when I build the app and run it on the quest.

    If I run it in the editor the headset and controller tracking works, but my hands dont show up. I a black box shows up saying Oculus Link doesnt support hand tracking. What am I doing wrong? It is supported right? The release notes from a few versions ago says:

    "Added support to use hand tracking on PC through the Unity Editor, when using Oculus Quest + Oculus Link."
    https://developer.oculus.com/blog/oculus-developer-release-notes-v13/?locale=en_US
     
    brendanluu and castana1962 like this.
  2. Manuel447

    Manuel447

    Joined:
    Dec 17, 2017
    Posts:
    6
    Hey,
    I don't have a solution (yet) but I might know the cause of this problem. Up until earlier today everything was working fine for me, even though the error message (which you have already described) showed up from time to time.
    However hand tracking stopped working as soon as my Quest updated itself to v16. So let me guess, your quest is running on v16?
    I still cannot update the oculus desktop software to v16 so I don't know if this would be of any help.
    So to answer your question: You are most likely doing nothing wrong and it is/was already supported. Nevertheless it's super annoying that it's (temporarily) broken.
     
  3. green-giant

    green-giant

    Joined:
    Jun 21, 2013
    Posts:
    43
    Thanks, for the reply. My quest does indeed have version 16 on it. I am happy to hear that the problem isnt just me.
     
  4. mattrossman

    mattrossman

    Joined:
    Oct 19, 2019
    Posts:
    2
    I'm having the same issue now that I'm on v16. Ugh, I hope they fix it soon.

    Edit: filed a bug report here.
     
    Last edited: Apr 21, 2020
    Fangh likes this.
  5. Manuel447

    Manuel447

    Joined:
    Dec 17, 2017
    Posts:
    6
    There is some kind of hand detection going on because a few features still work (e.g. finger pinch detection) but most of it is not working at all. I will take a second look at it but we probably have to wait for oculus to fix it.
     
    Last edited: Apr 21, 2020
  6. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    251
    Yep since v16 it does not work anymore !
     
  7. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    251
    I succeeded to upgrade my Oculus Desktop App to v16 by enabling the beta channel but the hand still doesn't work.
     
  8. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    251
    Last edited: Apr 21, 2020
    Manuel447 and mattrossman like this.
  9. mattrossman

    mattrossman

    Joined:
    Oct 19, 2019
    Posts:
    2
    I just had a weird experience where my Link connection was freaking out, and when I restarted Link my controllers wouldn't show up in play mode, but when I reached out my hands appeared fully tracked. I could then switch between hands and controllers just fine. When I stopped and re-played, the hands wouldn't show up again.
     
  10. brendanluu

    brendanluu

    Joined:
    Jan 5, 2017
    Posts:
    7
    +1 also experiencing this issue. Thanks for filing the bug
     
  11. Mazzeman

    Mazzeman

    Joined:
    Mar 3, 2017
    Posts:
    7
    +1 , annoying the heck out of me

    UPDATE:
    Seems like there's an issue with line 4558 in OVRPlugin.cs

    Code (CSharp):
    1.  
    2. if (version >= OVRP_1_44_0.version)
    3. {
    4.      return OVRP_1_44_0.ovrp_GetSkeleton(skeletonType, out skeleton) == Result.Success;
    5. }
    6. else
    7. {
    8.      skeleton = default(Skeleton);
    9.      return false;
    10. }
    The result is Result.failure meaning that the DLL file included does not return us the correct skeleton. So there has been a bobo there somewhere
     
    Last edited: Apr 23, 2020
    mattrossman and Fangh like this.
  12. Manuel447

    Manuel447

    Joined:
    Dec 17, 2017
    Posts:
    6
    I tracked down the problem to this class (OVRP_1_44_0) as well. But every data that I have checked which should be provided by this class is missing. So that's not only the case for the skeleton but also for other informations (e.g. regarding the mesh). Unfortunately I haven't figured out a way to fix this by myself.

    EDIT: Someone from oculus responded in the comments of the bug report:
    "Thanks for the heads up, everyone! I've tasked and assigned this issue to our engineering team to take a look."
    So fingers crossed that this is fixed soon.
     
    Last edited: Apr 24, 2020
    green-giant and Fangh like this.
  13. mich_mckellar

    mich_mckellar

    Joined:
    Jun 12, 2018
    Posts:
    1
    Ive been pretty successful in a v16 > v15 rollback during current development. Annoyingly every time the headset shutoffs or crashes it re updates. So a continual dice roll.

    Testing / developing in:
    UE4.24.3 Oculus engine branch
     
  14. Manuel447

    Manuel447

    Joined:
    Dec 17, 2017
    Posts:
    6
    There has been an update for the oculus integration (v16)... we got our hands back.
     
    Fangh and mattrossman like this.
  15. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    251
  16. MickeDahlgren

    MickeDahlgren

    Joined:
    Dec 29, 2014
    Posts:
    1
    I am still relying on v15 because I can't get bone positions in v16. I'm using bone positions for hand poses for instance. Anyone got a way to get bone pos?
     
  17. Manuel447

    Manuel447

    Joined:
    Dec 17, 2017
    Posts:
    6
    You can still use OVRSkeleton.Bones, just make sure that you call this after the oculus sdk has finished its initialization. It may happen that they are not yet available if you call them in something like a generic Start() function.
     
    Last edited: May 4, 2020
  18. Radicals270

    Radicals270

    Joined:
    Jun 14, 2020
    Posts:
    13
    To anyone still struggling with this issue, I fixed it on my project by going
    Menu/Toolbar --> Oculus -->Tools --> OpenXR --> "Switch to Legacy OVR Plugin"

    And hands are back in the app!
     
    jamestrue, Matt-Voda and User00112345 like this.
  19. mrphilipjoel

    mrphilipjoel

    Joined:
    Jul 6, 2019
    Posts:
    36
    I had two hand tracking projects. Both were displaying hands just fine in the editor.
    Now neither project will show me hands.
    I've factory reset my Quest 1.
    I've uninstalled oculus software, rebooted computer twice, then reinstalled Oculus Software.
    I've tried the HandTrackingTrain demo (in a new project) to make sure something crazy didn't happen in my projects.

    One of my projects is a collaboration, and no one else in the collab team is having issues.
     
  20. Radicals270

    Radicals270

    Joined:
    Jun 14, 2020
    Posts:
    13
    Have you tried the suggestion in my post above yours?

    I also find that I sometimes need to have hands enabled/wave them in front of the Quest 1/2 before I start Oculus link, to get them to work in Unity with Link.