Hi there,
hopefully this sounds not like an “stupid” question. Because of the EoS of Hololens 2 we are exploring other AR glasses for our use-case. We currently have two apps running on Hololens 2: Our AR app, based on MRTK 3 which is running our main 3D content, uses spatial meshes e.g. As far as I have seen migration to Magic Leap doesn’t seem to be an issue here beside QR code reading (QR code tracking overview - Mixed Reality | Microsoft Learn)?
The other one is an 2D app, capable of running background synchronisation of incoming data we send from other devices via SSL and administering those behavior? This is currently done in UWP and needs to be ported over. My question is, how simply is that migration process, when creating those 2D app? We still want to stick with C#. So better re-creating it in Unity or can we use another framework like MAUI while building it for Android? The app should run in background when the system starts up and is listening on an specific port for incoming messages (as currently done in UWP).
Would be nice if someone can share their experience on that.
Best regards
Christian
Hi @Christian.B , welcome to the Magic Leap 2 developer forum. Let me see if I can answer this question.
- Magic Leap 2 supports MRTK 3 but uses a separate Marker Understanding API. However, this migration process should be pretty straightforward.
-
Regarding running additional processes for synchronization: Magic Leap 2 runs an Android 10 based OS and supports running standard Android Actives but supports running 1 only immersive application at a time. These immersive applications need to use OpenXR APIs (Unity, C++, Unreal, etc). This means that frameworks like MAUI would only render as a 2D window in the device. My recommendation would be to integrate your logic into a Unity app and possibly building an Android plugin if necessary.
-
You can build applications that run in the background, but there might be some differences between the type of actions they can perform. I recommend looking at the AOSP documentation and making a note of the capabilities of apps that run in the background on Android.
Hi @kbabilinski,
many thanks for the response. I will take a look into the provided link regarding marker understanding.
For the other application I will maybe provide you with some additional details: The main reason for the app is about administering and starting/stopping background processes for synchronisation. Maybe same like OneDrive, where on OS startup the app will be automatically started and are listening for incoming messages. There doesn’t need to be a 3D or immersive application, because admistration can be done on an 2D window.
The reason we had done this is, that UWP and Microsoft store doesn`t allow publishing apps with background processes without any frontend or running endlessly without notifying the user.
Thats why we had the idea of using MAUI, since those simple management app can run on an 2D window. I had already looked at WorkManager and Foreground Services which seems to be exactly what we need. I just want to be sure, there aren`t any “Magic Leap”-restrictions on that topic. 
Best
Christian
Interested to hear how it goes
Magic Leap does not add any additional restrictions beyond what is included on Android 10. I’m not too familiar with the matter but depending on the permission requirements you may many to look at the Device Policy Manager APIs on Android: