Using the Forte Data Glove & Oculus Controllers in Unity

1. Setting up the Oculus Controller with the Forte Data Glove

  • The Oculus controller should be positioned so that ring of the controller is facing towards your thumb like in the picture below. This allows for the most efficient tracking with Oculus, as the controller will be in view of the camera for most use cases.
  • The hand trigger button should be lined up with the groove on the mount before it’s tightened with the strap.

2. Install Unity

3. Oculus Setup in Unity

4. Download the SDK

Download the Forte Data Glove Oculus Unity SDK Package

5. Import the Oculus SDK Package Into a Unity Project

  • Start the Unity application.
  • Open any Unity project or create a new project by selecting “New” and then selecting the “3D template”.
  • Import the package into the Unity project by selecting “Assets -> Import Package -> Custom Package… “. Select the Forte Data Glove Oculus SDK package file at its downloaded location, then import all assets.
  • The package contains DataGlove and Plugins. The Android sub-folder which contains the Data Glove JAR plugin and manifest files should be located within your Assets/Plugins folder after importing.
    • Note: If the Android plugin is not in the correct folder path then Unity may not load the plugin and no device connection will occur.
    • Helpful tip: Using “adb logat -s Unity DEBUG” or using the Android logcat package that Unity provides can help debug connection issues.
  • The Data Glove Oculus SDK package contains a few third-party assets including the “Oculus Integration” OVRCameraRig. This SDK does not contain all of the “Oculus Integration” package.

6. Using the Player prefab

  • The Player prefab contains everything you need to get the gloves working and contains the following structure:

  • The LeftHandAnchor and RightHandAnchor contain both the default gloves with their desired offsets for the Oculus controllers mounted on the Forte Data Glove devices. User created hand models should be made children of these anchors and given an appropriate offset.
  • The CentralEyeAnchor acts as the main camera and allows the Calibration Sequence prefab UI to be displayed in front of the camera.
  • The Player prefab also contains the “Oculus Hotkeys” scripts which maps the buttons A/X and B/Y to activate the Calibration Sequence. The Start button will quit the scene. The Oculus reserved button (which can’t be remapped) homes the player’s position and rotation in the scene. If this doesn’t home the player, the settings to initiate this feature are located in the Oculus Settings under Controller, where Press and Hold to Pause is deselected.

7. Bonding a device with Oculus system

  • Go to Settings and select “See All”
  • Select Experiments and Bluetooth
    • Note: if you do not see the Experiments section, the Oculus firmware will need to be updated. While the Oculus Bluetooth Menu is required to bond/unbond BLE devices manually, the Oculus Unity plugin can still scan for Forte Data Gloves. However, it is still recommended to upgrade the current Oculus firmware where the Experiments section is available.
  • Bond your selected devices in this Oculus Bluetooth menu. If you do not see your glove in the menu, restart the glove.

8. Startup Sequence before starting your app

  • Make sure gloves are paired in BT menu on Oculus (Experiments section in the Oculus Settings).
  • Turn gloves on before starting the app.
  • If the glove LED doesn’t turn blue, power-cycle glove 1-3 times.
  • On failure, restart the process from a-c, but usually only b-c is necessary.

9. Troubleshooting: What to do if the Data Glove doesn’t connect within your App

  • Solution 1: If the gloves aren’t connecting in the app restart the gloves 1-3 times.
  • Solution 2: Restart the app and restart both devices.
  • Solution 3: The Oculus Bluetooth stack (which runs a custom version of Android 7.1.1) can be corrupted for a variety of reasons and restarting the Oculus itself is recommended.