Tracker support in motion controller component

I’m using the Vive trackers with get tracked object and everything is working well. However if you list the tracked objects the come up listed as invalid and the motion controller component doesn’t seem to be able to use them. Has anyone used current firmware vive trackers with the motion controller component? I used older firmware fine, when they were reported as another standard controller.

I am having this problem too! I can’t find a way to get around the latency caused by Get Tracked Device Position and Orientation

Yeah, i think it’s not using the late update code the motion controller component does.

I think the main issue is that at least the version I’m on, 4.14 is using an older open vr library that doesn’t have the enum for tracked devices in it. So they come up as invalid devices in the code. Also the motion controller code filters for anything that isn’t a controller.

Yeah I just had to add a custom component at least temporarily to my plugin to support the trackers, they come up under “Other” for tracked device type now instead of “Controller”.

The motion controller interface for SteamHMD throws out all results that are > the controller index’s so it never iterates to the trackers.

Epic needs to overhaul the SteamVRHMD class to support the trackers officially now.

Is there any limit in SteamVR on how many Trackers can be tracked at once?

Currently 13 Trackers

Any one know the timeline for this being supported? If it’s not already in master I might do it this week. It’s a bit vexing that UE seems so Oculus focused where as Unity is Steam VR focused.

I’d like to know this too. Any official word from Epic on this?

That’s an arbitrary number though, and will be changed whenever there are reasons to track more

Is there support for Input Events of the Tracker yet?

I was planning to add inputs from the trackers to my project this weekend. I hope they are supported. I have a four functioning trackers, but have not tested the pogo pin breakout.
I printed and assembled a decent mount/pogo breakout.

I find in unreal, depending on which controllers/trackers you turn on first to last, that dictates your device ID. I am using those ID’s in my blueprints for the trackers. Anyone know of a way to keep devices assigned to specific iD’s.
So for example, after the initial calibration, UE knows remembers, unless you re-calibrate. The problem is the device activation order, it changes ID. I wonder if we can read the device serial etc? That may help.

Hey rasamaya, I couldn’t find any blueprint support for the trackers. However, I didn’t look in the source code. Maybe you have luck there.

Are you using the motion controller component and if so do you have a patch or diff to make it work?

I’m using the GetTrackedDevice-Blueprints (Get Tracked Device Position and Orientation | Unreal Engine Documentation)
You have to find the right ID for your tracker, then it works.
However, you can’t get any input events, or poll the state of the tracker, that’s really a pitty. Because the tracker is basically a full motion controller with pins for vibration, buttons, etc., but without the plastic parts :slight_smile:

Again, any official word from Epic about full SteamVR tracker support?

Also wanting this.

4.17 added support for the motion controller component with vive trackers. Is haptic input on pin 1 and button output on the other pins coming as well?

I have the input pins (trigger, menu, etc) working and also the haptic output pin. I used the HTC tool to change the tracker to a controller. In Unreal the motion controller is set to right hand.

When I had tried it as ‘other’ and set to the new ‘Special 1’ motion controller type Unreal was crashing when an event was triggered.

The trackers do not have rumble build in. You could try to achieve a “digital output version” of the rumble by adding your own motor with the output pins. But it is recommended to use the usb breakout to create a circuit for an analog haptic device.

bump¿ xD need it!!!

Hi. Have you found some way to do this ?