Controller not pairing + no XR rig in Unity apps

ML2 OS version: 1.12.0
Unity version: 2022.3.5f1

Hi,
I recently updated my Magic Leap 2 headset to OS version 1.12.0 and since then I’ve been having issues with the controller and my Unity build.

The controller just won’t pair. I tried both wireless and wired. When I try to pair it wirelessly, it takes a while and then gives me an error saying something like “couldn’t pair, please try later.” I also tried plugging it in via USB-C directly to the compute pack but that didn’t help either. I think it might be a firmware mismatch or something because the headset got updated but I don’t know how to update the controller on its own. I looked everywhere for a guide or doc about this and found nothing.

Also, in my Unity app there’s no XR rig showing up at all. Like, nothing gets tracked. I was hoping to at least use the controller to test something, but that’s not even working either, which makes everything harder to debug.

I’m kinda stuck now. Is there a way to force update the controller firmware or at least check what version it’s on? Or maybe there’s something wrong in how I’m building the app from Unity? Any tips appreciated. :slightly_smiling_face:

Hey @Looper,

Welcome to the Magic Leap Developer Forums!

Sorry you’re running into this issue.

Does the controller work at the home menu of the Magic Leap device or do you only have controller issues when you are running your Unity app?

Hi,

I managed to fix both the controller issue and the Unity problem.

The main issue with the controller was the connection method. I was initially using a USB-A to USB-C adapter to plug the controller into the compute pack, but that didn’t do anything, the controller wouldn’t pair or update. Once I switched to a proper USB-C to USB-C cable, the controller update automatically started, and pairing worked afterward.

As for the Unity issue, the problem was with the XR setup. I had been using OpenXR, but downgrading to the Magic Leap SDK (MLSDK) through the Magic Leap Menu solved it. I also ran the Magic Leap Setup Tool and made sure all the required checks were green. After that, the controller tracking worked correctly in the Unity app.