MagicLeapDeviceManager in MRTK Integration fails to spawn controllers

Unity Editor version:
2022.2.6
ML2 OS version:
1.2.0-dev2
MLSDK version:
1.5.0

After updating to the newest SDK, our controller is not being spawned correctly using the MRTK integrations.
It worked perfectly prior to updating.
We've found that going back to the OS menu, and reopening the app (not closing it) fixes this issue.
Then figured out that "controllerActions.IsTracked.IsPressed()" in MagicLeapDeviceManager.Update() is false every frame until the "minimize" trick above has been executed.

What is happening?

1 Like

In general, it would be really nice with some comments to the MRTK integration code.

1 Like

I've also found that this;

if (!controllerDevice.isValid)
                controllerDevice = InputSubsystem.Utils.FindMagicLeapDevice(InputDeviceCharacteristics.Controller | InputDeviceCharacteristics.HeldInHand);

In MagicLeapDeviceManager.ConnectMLController()
always returns a non-valid controller, again until the minimize hack has been done.

1 Like

Thank you for your post @TheMunk. We apologize for the frustration this has caused, this is a bug we've been working on. It should be fixed in our next release, which is scheduled this week. We noted it among our known issues in our MRTK 1.5.0 v1 release notes in the Hub and the developer portal in March's release. Again, apologies for the inconvenience.

1 Like

Damn, don't know if I missed this or if the notes has been updated.
But thanks!

When we initially noted it last month, we thought it was more sporadic. However, after release we've discovered more developers were impacted. Our April Release is scheduled for this week, we're just going through final checks.

1 Like