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:
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.
Inside the Vive Business Streaming app on your PC, ensure the βFall back to Vive trackerβ option is enabled under input settings.
Connect your headset to your PC via Vive Business Streaming.
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β.
Assign a unique βroleβ to each connected tracker here. (But do not choose any of the βwristβ. βankleβ or 'held in hand' roles!)
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.
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.
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.
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.
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.
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