Request for Android ARM x86-64 .so build and support for Magic Leap 2
huyqle3 opened this issue · comments
Hi keijiro, I really like the Android version of the plug-in, and I was trying to make KlakNDI work for Magic Leap 2.
Magic Leap 2 uses:
- Unity 2022 LTS and later
- ARM-x86-64 (Chrome OS and Magic Leap 2)
I was wondering if the Android plugin could also be built for this ARMx86-64 architecture because I think that the .so build might just work automatically without change if targeting that architecture.
Unity 2022 LTS also which no longer has the Unity Transport SetMulticastLock()
network call.
For Unity 2022 LTS, I tried to turn on MulticastLock
directly using a AndroidJavaObject
and wifi service,, but I think that something else needs to be added because I cannot send any video on Unity 2022 LTS, but it works on Unity 2021 LTS.
For Augmented Reality projects on the Magic Leap 2, NDI would be so useful, but it has a different ARM architecture than the usual ARM64.
Hextaku is helping me with the SetMulticastLock()
not being available on Unity 2022 LTS, so my request would be only the part about:
- An ARM-x86-64 (Chrome OS and Magic Leap 2) compatible target of the KlakNDI .so
Thanks keijiro!
I'd like to clarify the term "ARM-x86-64". My understanding is that Magic Leap 2 doesn't use the ARM architecture but utilizes the Intel x86-64 architecture, so what you'd need is simply x86-64 support. Could you correct me if my understanding is wrong?
Hi keijiro! I think that you're right about the term, "ARM-x86-64"
It's not ARM! My mistake.
It's Android-x86-64, so I think that it requires a build target on Android for that x86-64 architecture target.
I'm not 100% sure because that confuses me too.
Magic Leap 2 uses the Android Build Platform in Unity:
In the Target Architectures, underneath the Android Player settings, the Target Architecture in Unity for Magic Leap is: x86-64 (Chrome OS and Magic Leap 2):
Thanks for the clarification.
Unfortunately, I don't have any x86-64 Android device. Do you have any recommendations if I try to get one? (Magic Leap 2 is too expensive to justify the expense.)
Hi keijiro! I think that any Chromebook, a cheap one, would be a good development device.
All the Chromebooks should be running ChromeOS, or I think that you could also test or build through an Android emulator as well.
For a different Unity asset store project called ZibraLiquid, the developers also didn't have a x86-64 device, so they sent me a version of the .so with that x86-64 build target, and I tested for them on Magic Leap 2.
If you need me to test or do anything for you like build something or create a recording or work on anything, let me know and I can do it!
Is there a way for me to build the NDI SDK .so file for you?
If so, what is the usual way to build the NDI SDK .so for Android, and then, I can figure out the rest for building on the x86-64 platform for Magic Leap 2? And send it back to you after confirming it works with test results.
Those .so files are parts of the NDI SDK that is a proprietary product of NewTek. I can't remember if it contains a x86-64 Android build. You can download it from their website or ask their technical support contact.
Hi keijiro! Unity 2022 LTS with Hextaku's pull request change worked on Magic Leap 2 to turn on the MulticastLock
.
But, big reminder that Unity 2022 LTS users must also install the Unity Transport package
because it no longer comes with Unity 2022 LTS.
NDI 5 SDK (Android) provides a Android x86_64 version of the .so file that I brought into my test project, and it works on Magic Leap 2. Super cool.
Thanks for all the help, keijiro! Your comments helped me solve the problem, so you can close this request if you want. Or let me know if you have any questions or need testing.
Sincerely, Huy