Jump to content

Absolutely can NOT get hand tracking working in Unity for Vive XR Elite


Recommended Posts

I am on a time-sensitive project to get our VR Unity app working on the Vive XR Elite headset (From the Quest2 build we have), ideally in the next few weeks as it is released during that time.  I notice that on boot, the XR Elite headset says “Vive Focus 3” so I have been developing the port under the presumption that this headset is a Focus 3 (as there are virtually zero relatable results for “XR Elite” on the Vive developer forums.)

Our app uses both controllers and hand-tracking on the Quest 2, and we’d like for it to be able to use them both on the XR Elite.  Therein lies our trouble…

Originally our app was built in Unity 2019.4.2, however I could not get controllers working in this version of Unity.  I upgraded to 2021.3.12 and have eventually managed to get the XR Elite’s controller-tracking working in the app.

Now that I am trying to get hand-tracking working, I am at my wits end.  I have tried following all of the following guides and tutorials to get hand tracking working in our app, to no avail:

As you can imagine, we’re quite frustrated...!

Current Status of what works/what doesn’t:
So far the only way I can get hand-tracking working at all (outside of our app), is to create a brand new empty project in Unity;
2019.4.40 I can get the demo scene (From the Essence package) for hand tracking working, but not controllers
2021.3.12 I cannot get the hand demo scenes to work (that come with the Essence package) BUT I can spawn a bunch of cubes to each joint on the hand via the tutorial that I can’t find right now, spawning each cube joint of the hand dynamically.  Though this is good, it’d mean I’d have to write my own grab/gesture code, which would be a bit much at this stage of the project, when all those things are already (apparently) working from the Vive SDK, I’d really rather just get the SDK hand tracking to work…

What actually happens:
(In Unity 2021.3.12) When you load into the app and put down the controllers, and wave your hands around in front of the camera, nothing happens/appears, no hand model, etc. The controllers just stay visible on the ground where you put them.

Can anyone help me?  Here are all my settings for our 2021.3.12 Unity project.  These screenshots below reflect just one of the many, many iterations I’ve tried, I don’t know if I’m supposed to be using the InteractionModeManager script, or the Wave SDK and the Open XR SDK with the Wave SDK Android Plugin or the Wave SDK Android Toolkit, or the PoseTracker script, or the HandManager script, the list goes on, as there have been so many versions of the Vive SDK and associated packages that I don’t know which one I should be using in this particular instance.

Any help is appreciated!!








<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    <application android:icon="@drawable/app_icon"
        <!--You can use your theme here.-->

        <activity android:name="com.htc.vr.unity.WVRUnityVRActivity"
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="com.htc.intent.category.VRAPP" />
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
            <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />

    <!-- <uses-permission android:name="android.permission.CAMERA" /> -->
    <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->


Link to comment
Share on other sites

Hi @Radicals,

Based on the images you shared, I believe that you are mixing both Wave SDK and Wave OpenXR. You should be using on of the two.

If you are using the Wave SDK then in you XR Plugin-Management you should have the WaveXR tick box ticked (The WaveXR settings will not affect OpenXR content). Otherwise, if you are using OpenXR in you XR Plugin-Management you should have the OpenXR tick box ticked similar to the picture you shared and enable the Hand tracking feature from the OpenXR Feature Groups, ref image below.




Link to comment
Share on other sites

Thanks, Mark - I have good news - turns out we don't need hand tracking on the XR Elite in this particular project after all, so that is a load off my mind. 

But for those who find this thread and do need it - at the last second I managed to get hands and controllers working via the package "Vive OpenXR Toolkit Samples - Android"  - this package contains a sample scene for both hands and controllers working simultaneously, granted they are with skeleton hands, but it's a start.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...