Setup

Note

This section assumes you know the hardware requirements and features of the Vive Hand Tracking SDK. Please read Vive Hand Tracking SDK Overview section before this section.

Minimum supported Unity3D version is 5.4, including all 5.5, 5.6, 2017, 2018, 2019, 2020 and 2021 series.

  • Plugin is tested on Unity3D 5.6.7f1, 2017.4.40f1, 2018.4.36f1, 2019.4.28f1, 2020.3.13f1 and 2021.1.13f1.
  • Unity version 5.4 and 5.5 series are not tested, though the plugin should work
  • A Unity version that supports Android ARMv8 library is required if you what to use ARMv8 version of Vive Hand Tracking SDK
    • This means Unity 2018 or later, plus Unity 2017.4.16f1 or later
    • ARMv8 version is preferred over ARMv7 version if possible
  • Unity LTS versions are recommended.
  • If you plan to use WaveVR with Vive Hand Tracking SDK, use Unity version required by WaveVR.

Installation

Installation method varies depending on Unity version:

  • Using Unity package manager with scoped registry (For Unity 2019 or later)

    1. Add scoped registry in with following settings:
    2. Install latest Vive Hand Tracking SDK in Package Manager.
    3. Import samples if needed.

    Please refer to Unity document on how to add scoped registry or install custom package.

  • Import package (For Unity 5 to 2018)

    Vive Hand Tracking SDK provides unity package Vive Hand Tracking Unity.unitypackage. You can import the plugin in Unity3D from Assets -> Import Pacakge -> Custom Package... Menu.

Hint

See Select Hand Engine section for selecting backend engines.

Samples are included in the plugin. Please refer to the Samples sections for details.

Based on different platform, process of setup may be different. Please refer to the sections below to setup each platform you use.

Windows

Note

SteamVR disables camera by default. This means a fresh installed SteamVR cannot use Vive Hand Tracking SDK without manual setup. See Camera Setup for how to setup SteamVR and check camera availability before using Vive Hand Tracking SDK.

  • Make sure OpenVR is loaded as current VR before start detection.
    • Goto Player Settings and set VRSettings (5.x) or XRSettings (2017+) to include OpenVR.
    • For Unity 2019 or newer, please use Unity’s new XR system with OpenVR enabled.
  • SteamVR plugin is NOT required for the plugin to function.
  • The library DLL requires Microsoft Visual C++ Runtime 2015 Update 3.
  • Hand detection is paused when HMD is took off. Please put on HMD before using hand tracking.
  • Follow the steps in Camera Setup with SteamVR (Vive, Vive Pro or Valve Index) or Vive Console (Vive Cosmos) before start application.

WaveVR (Vive Focus)

  • You need to import WaveVR SDK into your Unity project
    • If you are using Vive Focus/Focus Plus, supported WaveVR version is 2.1.8 to 3.2.0.
      • For WaveXR package installed from Unity package manager, supported version is 1.x.
    • If you are using Vive Focus 3, supported WaveVR version is 4.0 or newer.
    • See WaveVR Compatibility for details.
  • Camera permission declaration and request are handled in the plugin using WaveVR API.
  • Both ARMv7 and ARMv8 binaries are provided in Vive Hand Tracking SDK. The binaries are selected by Unity based on your actual archietecture setup in PlayerSetings.
    • WaveVR 3.1.1 or later is required for ARMv8 support.
  • WaveVR Hand API can be used as optional backend. See Select Hand Engine section for details.

Note

If you are using Unity 2020 or newer, there are compilation error in editor script after you import WaveXR 1.x packages. You can either downgrade to Unity 2019, or follow Unity document to embed com.htc.upm.wave.xrsdk package in your project and remove offending codes.

Google ARCore

  • The native library is tested on Pixel.

  • Make sure your device support arcore. Follow ARCore supported devices to check whether your device is in supported device list or not.

  • Google Play Services for AR is necessary for running ARCore apps on your device. The latest version of Google Play Services for AR can be downloaded from Google Play Store or other application markets.

  • Follow Google ARCore document to enable ARCore in Unity

    • For Unity 2019.4.3f1 or later, install AR Foundataion and ARCore XR Plugin from package manager.
    • For Unity 2017.4.40 or later, import Google ARCore SDK v1.6.0 or later into your Unity Project.
    • For Unity 2017, please also tick ARCore Supported option under XR Settings in Android player settings.
  • Both ARMv7 and ARMv8 binaries are provided in Vive Hand Tracking SDK.

  • Before building your arcore app, Orientation must be set to Auto Rotation in PlayerSettings and make sure all the 4 rotations are enabled.

    ../_images/orientation.png

Android Phones

  • The native library is tested on Pixel.
  • Camera permission declaration is included in plugin.
  • Camera permission runtime request is not included in the plugin. You need to make sure camera permission is granted before starting detection.
    • The runtime permission on Daydream is handled using GoogleVR plugin.
    • For Unity 2018.3+, camera permission is handled using Android runtime permission API
  • Both ARMv7 and ARMv8 binaries are provided in Vive Hand Tracking SDK. The binaries are selected by Unity based on your actual archietecture setup in PlayerSetings.
  • The app must be in landscape left orientation.