OpenXR and Vuforia tracker - marker is tracked but appears at the wrong place

I have been trying to port (again) or company HoloLens 2 app to Magic Leap, and I was doing pretty well - until I came to the Vuforia part. This surprised me to no end, as earlier ports had no problem with this.

Now the main difference with back then is - then the OpenXR stuff was not available, and now it is. So what happens is: the tracking is happening, the position I get back in space is not the position of the marker, but mostly about 50cm before the tracker and a bit higher. If I move the marker, the object I show at what the system thinks is the tracked location moves with it, but at that distance.

What I have tried so far:

  • Messing around with this

    This gives various locations, but never the right one.
  • Turning on Perception Snapshots
  • This

But to no avail. I have done umpteen deployments now with various configs, but still no working tracking

Using:

  • Magic Leap OS 1.12.0
  • Unity 2022.3.40f1
  • Magic Leap SDK 2.6.0
  • Magic Leap MRTK 1.4.0
  • Vuforia 10.29.6

Any suggestions are very welcome.

Update: made a small Vuforia repro for HL2, worked fine, Then proceeded to make it compatible with ML2 using my own recipe . That made the object tracker appear about 20-50cm next to the. When I switched back to HoloLens (UWP), it had similar problems. There is something definitely funky going on here, but I am not quite sure what. I'll try more tomorrow and possibly send the repo, if I feel I can't move any further.

Update 2: reverted every change I made to the app (yay Git), then repeated the convert process. And this time it worked flawlessly. So apparently, sometimes things get messed up in a Vuforia project. Danged if I know what is was

1 Like

I'm happy to hear that you were able to get it to work and that you took time to post the information on the forum. It's unfortunate that Vuforia has not updated their SDK to support OpenXR out of the box. We will keep an eye out for the issue you described and if we learn anything about it I can update this thread or we will post a new topic.

Well... it works in my repro app, but only in a very specific case. I am still struggling with our business app, where the problem is still unchanged. Do you have suggestions? "Vuforia has not updated their SDK to support OpenXR out of the box". Do you have any things I can try? I have tried to select both MagicLeap and OpenXR at the same time, but then hand tracking does not work. And this must work. It's imperative for our app

So final(?) answer: it simply does not work properly/reliably with OpenXR. I have now selected both Magic Leap and the OpenXR plugin and now at least Vuforia tracking seems to work. Now I only have to find out and test what other things this breaks, but I hope not too much.

Is there any contact with Vuforia about updating their SDK? Timelines?

Enabling Magic Leap and OpenXR may result in unexpected behavior as Unity can only load a single plug-in provider at a time.

Regarding Vuforia Support

My recommendation would be reaching out to them directly : Engine Developer Portal

I see, then I read this incorrectly. Camera API Compatibility with OpenXR, OS and Vuforia - #13 by kbabilinski