How to use Vive Trackers in UE 5.2 and later versions

We implemented support for HTC’s OpenXR Vendor Extension for Vive Trackers in 5.2 with the OpenXRViveTracker Plugin. I wrote a short tutorial on how to get set up and use it, which you can find here: How to use Vive Trackers in UE 5.2 and later versions | Tutorial

7 Likes

I noticed in 5.2 Preview, that tracking functions from the HeadMountedDisplay module now work for Vive Trackers (so yes, we can track more then 13 pre-defined roles). And devices can be tracked in viewport in Preview/PIE mode.

Thanks!

But there is a question: Vive Trackers are show as “Controllers”. As I can see from sources, OpenXR doesn’t even try to separate devices by type.

UPD. Tracking in non-vr mode doesn’t work. Earlier I forgot to disable SteamVR plugin. Also, OpenXRViveTracker is very unstable. It also limits number of trackers to use to roles (i. e. 13). WIth SteamVR plugin it’s possible to use up to 64 tracked devices.

Honestly, I don’t understand idea of update which decreases functionaity of the engine.

I’ve been making an open source motion capture software using vive trackers for just about two years now, and my community is having some big problems with using OpenXR instead of SteamVR.

I spent the weekend refactoring Mega Mocap VR away from Live Link XR/Steam VR using this tutorial and found the solution problematic. I was wondering if there is anyway to access the VR trackers/controllers based on their device name like it worked previously (right now they do not appear in Live Link XR, or if they do they only have their open XR role names). I definitely see the benefit of tracker roles for standalone builds, but currently:

  1. The game has to be run in VR mode, and most us are doing virtual production, mocap for game cinematics and VTuber live streaming set ups using the editor.
  2. There are a limited amount of OpenXR roles (for instance, my set up uses a ‘Head’ tracker so people can get face data with Apple AR Kit, but there is no role for this. I can set it to another role like ‘camera,’ but this will definitely cause friction in new users).
  3. Because things are divided into roles, I can’t do captures with multiple motion capture performers anymore because I can’t discern between player 1’s foot and player 2’s foot.
  4. The SteamVR vive tracker management is buggy, and it feels relying on these settings will make the system more frail/cause friction in new users. Sometimes when testing, this menu doesn’t have ANY of the trackers that are appearing in SteamVR’s HUD.
  5. I simply haven’t been able to get things working after hours of investigation and testing. I’m not sure if its an OpenXR Explorer issue, but everything feels more complex and dependent on things outside of Unreal Engine (which, admittedly is how this VR stuff works, but it just felt more robust using Live Link XR).

Any advice is appreciated, as I’m concerned for the future of my project! Thanks in advanced!

2 Likes

The OpenXR API itself is designed to abstract away any device specific information. It only allows accessing tracker poses by role. The Vive tracker OpenXR extension only specifies a few allowed role names.

Khronos is unlikely to allow direct access to devices by name, but it might be a good idea to ask them and HTC about adding more roles, and especially about the multi-user use case.

1 Like

Hi All, I’m a film maker trying to get unreal 5.2 and my Vive pro tracker to work. I used these instructions and all the object and parameters are there, I filled them in as instructed but is doesn’t work. Please help!

Screenshot 2023-04-11 220432

Screenshot 2023-04-11 221429

Screenshot 2023-04-11 221836|289x1 04

Screenshot 2023-04-11 221716

1 Like

@ContagiousDreams have you ever solved this?

Try other source then “Camera”

Tried to update my plugin for 5.2 so that it’ll work with OpenXR, but I see that the issue with “Trackers working only in VR” is still there, and also seems that LiveLinkXR do not see the trackers at all, while in 5.1 LiveLink does work as expected.
@VictorLerp I remember a reply from one of the devs, sayinf that they were going to fix this issue for 5.2, but there’s still the same problem, and I also notice that on 5.3 SteamVR has been dropped completely, so what’s the current situation?
Will this issue be solved with 5.2.1?

You can use LiveLinkXR w. OpenXR and Vive Trackers without VR in 5.2 by starting the editor w. the commandline parameter -xrtrackingonly. We’d like to get rid of this commandline parameter and make it “just work” in a future version, but it’s required for now.

3 Likes

@VictorLerp even in VR I can see that, in LiveLink, if I play in VR and then stop, I can see just one tracker ( out of 6 active ) with /head as a name…each one has its own role.
This is quite confusing.

@VictorLerp the issues with the trackers will be solved on 5.3?
I notice that SteamVR has been dropped on 5.3, and if the trackers won’t work as expected this will be quite a big issue for me.
Any news?

Is the Plugin even working anymore? I can’t find it anywhere and the link is broken.

If you are using Vive trackers you need to set them all to have a unique roles in Steam VR. This is done by opening “controller settings” from the burger menu and giving each puck it’s own role.

Hope this helps.

1 Like

I also encountered this problem, did you solve it?

I VictorLerp - This is a bit of a necrothread - if I am to use -XRTracking only, does this disable other livelink tracking options? I have a VP stage with a mosys system, and want to use both - is this possible with 5.3? I need to book the room to try it, and that’s hard at the moment!

-xrtracking only doesn’t affect livelink, it’s related to the OpenXR runtime (and disables rendering to the head mounted display)

I am also stuck with this issue, -xrtracking works with tracker but stop rendering on HMD. Is there any solution yet or should I just downgrade to UE 5.2 ?