Using Vive Ultimate Trackers

Existent currently supports using Vive Ultimate Trackers via a dongle connected to the Vive Focus 3 headset, streaming to/from a PC using Vive Business Streaming. The limitation here is that a maximum of 5 trackers can be connected to a single headset at a time, although there is no limit to the total number of trackers that can be connected in a multiplayer session (provided you have enough headsets).

If your Focus 3 headsets are in LBE mode (which we highly recommend to reduce origin drift), you will have to put your Ultimate Trackers in LBE mode as well by following the steps described in this post (requires a Vive business account to access).

To view the VIVE Forum page, you need to be signed in using an HTC account that has LBSS permission.

We recommend updating the firmware of Vive trackers to the latest version available.

To connect Ultimate Trackers to SteamVR for use in Unreal Engine:

  1. Plug in the Ultimate Tracker dongle to your Focus 3 headset, and follow the onscreen instructions (also available under Settings->Input) to pair it with your trackers.

  2. Inside the Vive Business Streaming app on your PC, ensure the β€˜Fall back to Vive tracker’ option is enabled under input settings.

  3. Connect your headset to your PC via Vive Business Streaming.

  4. You should see a blue icon in your SteamVR window for each Ultimate Tracker connected. Right-click any one of them and click β€˜manage trackers’.

  5. Assign a unique β€˜role’ to each connected tracker here. (But do not choose any of the β€˜wrist’. β€˜ankle’ or 'held in hand' roles!)

    1. NOTE: This step only needs to be done once when first setting up your trackers. It doesn’t matter which role you assign here, so long as each one is unique on the current PC (and so long as they are not β€˜wrist’, β€˜ankle’ or 'held in hand'!). For the avoidance of doubt, you may reuse the same tracker role on multiple PCs that are connected to the same multiplayer session - they only need to be unique for each tracker on the same PC.

Unsupported tracker roles

The following SteamVR tracker roles are not supported by Unreal Engine or Existent:

  • Held in hand

  • Left wrist

  • Right wrist

  • Left ankle

  • Right ankle

Make sure that the trackers shown in SteamVR and their serial numbers do match the serial numbers of the trackers you are using.

Steps to set up Ultimate Trackers in Existent:

Please ensure the 'OpenXRViveTracker' plugin is disabled in your project. Existent uses custom logic to interact with Vive trackers, and the Vive plugin will interfere with this, causing trackers not to work as laid out below.

  1. Under Settings -> Existent Settings, set your β€˜Default Tracking System’ to an instance of a β€˜ViveTrackingSystem’ asset. You can create a new asset from the dropdown.

While in the β€˜Tracking’ section of these settings, you can also set up β€˜Tracking Device Models’ (if they haven’t been already) which are debug meshes depicting tracking devices to help you align real-world objects with the tracker’s coordinates. To set up a mesh for an Ultimate tracker, make an entry here using the mesh SM_ViveUltimateTracker, included with the plugin.

  1. Open the ViveTrackingSystem asset (double-click) to set its properties:

  • Ensure the β€˜Tracker Type’ is set to β€˜Ultimate’

  • Add an entry to the β€˜Trackers’ array for each tracker you want to use in your experience.

    • In the β€˜Serial Number Suffix’ field, type in the last 3-4 digits of the tracker’s serial number (printed on the back of the tracker).

      • (You only need to put in as many digits in this field as are necessary to tell all your trackers apart. The last 3 should almost certainly suffice, but you can include more digits if necessary.)

    • Optionally, in the β€˜Friendly ID’ field, you can type in a more user-friendly ID for this tracker, which will be used to identify it in your gameplay logic.

  1. For any TrackerComponent that you want to move according to an Ultimate Tracker, make sure its β€˜Tracking System’ is set to your ViveTrackingSystem from step 1, and then simply set its ID.

  1. Press play and observe your props moving according to tracker coordinates. Note that when playing in single-player (e.g. in the editor), only trackers connected to the headset you’re playing in will work. In a multiplayer session, however, trackers can be paired with any headset that is part of the session, and the correct coordinates for all trackers will be displayed to everyone.

  2. To help align your prop with the tracker’s coordinates, you can optionally enable the β€˜Render Device Mesh’ option, and select the Ultimate Tracker device mesh (as set up in the previous section) to see a debug render of the tracker device while in-game.

TrackerComponents that use a ViveTrackingSystem do not currently support updating tracking transforms in-editor (without hitting play), even if β€˜Update Tracking in Editor’ is enabled.

Troubleshooting

Trackers do not move or rotate when the game is running

Here are some suggested steps to try:

  • Ensure all trackers except the 1-5 you are using currently have their SteamVR roles set to 'disabled'.

  • Ensure none of your trackers use any of the unsupported SteamVR roles.

  • Ensure no two trackers have the same SteamVR role assigned.

  • Restart your play-in-editor or standalone game session.

  • Quit SteamVR and allow it to restart before restarting your game.

Trackers rotate, but do not move

This means Unreal is correctly reading tracking data, but the trackers have lost track of where they are in the room. Try placing them at the centre/origin of your HMD map, or wave them around close to the headset dongle.

Last updated