MagicLeap XR Plugin not working with new InputSystem

Hey,
I’m trying to get the MagicLeap XR Plugin 6.2.2 working the new InputSystem 1.1.0-pre5. I tried both packages in different version variations and preview packages but nothing helped.

The versions I tried under Unity 2020.3.11:
ML XR: 6.2.2 verified, 6.3.0-preview.2, 6.4.0-pre.3
InputSystem: 1.0.2 verified, 1.1.0-pre.5 and pre.6

The error from the screenshots describes, that the controller device cannot be created because of a mismapping of the bumper button. It seems like it expects another type than it is mapped to, namely AxisControl instead of ButtonControl. I’m not 100% sure which side is responsible for the error. But the script DeviceLayouts.cs that has the mapping (and is only executed under the new InputSystem) resides in the MagicLeap XR Plugin package.

Bump

Hey JimboJones,
I ran into the same problem, did you found a solution for this?
I do not even get the point of this issue, cause in DeviceLayout.cs the bumper IS a ButtonControl not an Axis !

      protected override void FinishSetup()
        {
            base.FinishSetup();

            touchpad1Pressed = GetChildControl<ButtonControl>("touchpad1Pressed");
            touchpad1Position = GetChildControl<Vector2Control>("touchpad1Position");
            touchpad1Force = GetChildControl<AxisControl>("touchpad1Force");

            touchpad2Pressed = GetChildControl<ButtonControl>("touchpad2Pressed");
            touchpad2Position = GetChildControl<Vector2Control>("touchpad2Position");
            touchpad2Force = GetChildControl<AxisControl>("touchpad2Force");

            triggerButton = GetChildControl<ButtonControl>("triggerButton");
            trigger = GetChildControl<AxisControl>("trigger");
          /* >>>*/ bumper = GetChildControl<ButtonControl>("bumper"); /*<<<*/
            menu = GetChildControl<ButtonControl>("menu");

            dof = GetChildControl<IntegerControl>("dof");
            calibrationAccuracy = GetChildControl<IntegerControl>("calibrationAccuracy");
            type = GetChildControl<IntegerControl>("type");
        }

Hey @cmd_Unity ,

apparently Unity fixed it with version 6.4.2-preview.1, which got released 1 week after my bump:

https://docs.unity3d.com/Packages/com.unity.xr.magicleap@6.4/changelog/CHANGELOG.html

Unfortunately, non of the devs answered here on the thread, so a lot of digging was necessary.

What version of the MagicLeap XR Plugin are you running? Could reach back out if this works for you as well, so I can set this thread to resolved? Much appreciated! :slight_smile:

Hi,

I did use 6.2.2, same as you.
I can not update to 6.4.2 (not available in Package Manager, using unity 2020.3.22).
Only to 6.4.1 and it seems to work now, I do not get the error message any more. (“seems” because I am far away of understanding the new input system in context with XR-Interaction Toolkit and so on:face_with_spiral_eyes::eyes::face_with_spiral_eyes:)

Thank you very much.

I’m glad you got it working!

If you still find yourself in trouble, make sure to check “Enable preview packages” in the Advanced Settings of the PackageManager

With this you should be able to see version 6.4.2-preview.1 of the package:

…thank you for the detailed explanation :slight_smile:

Have you switched back to 6.2.2?

Happy to help! :slight_smile:

For releasing our product we cannot use preview packages. But good point! We should at least consider updating to 6.4.1 :slight_smile: