I framework XR per Unity

L’acronimo XR ormai ha preso possesso (per ora) di tutte le realtà immersive e sta facendo capolino anche il nuovo termine spatial computing che va ad inserirsi in quel segmento che vede l’interazione uomo macchine in ambienti reali, ma di questo ne parlerò più avanti.

In questo post vorrei elencarvi i vari framework che ci sono per lo sviluppo di contenuti XR, perciò per AR, MR e VR. Spiegata in modo molto semplice (informatici perdonatemi), i framework sono quell’insieme di strumenti software che si pongono tra il sistema operativo e il software che stiamo utilizzando. Spesso i framework assumono il nome di Toolkit oppure SDK (Software Development Kit).

I Toolkit sotto forma di SDK sono generalmente forniti dai costruttori del visore così da poter integrare le funzioni all’interno dei vari software di creazione di contentuti come Unity o Unreal, ma in alcuni casi forniscono direttamente gli strumenti di sviluppo.

Unity XR SDK

Partiamo da Unity XR che dalla versione 2019.3 ha sostituito i vari plugin di integrazione come l’Oculus Integration. Basato sullo standard OpenXR mette a disposizione gli strumenti per sviluppare su quasi tutti i device, solo per Steam utilizza ancora l’OpenVR.

In questo post di gennaio 2020 spiego le novità dell’XR Management di Unity. https://360.fluido.tv/gestione-xr-in-unity-2019-3/

Con l’integrazione dei singoli SDK il progetto può essere esportato per i seguenti device: Hololens 1 e 2 e Windows Mixed Reality attraverso il MRTK, Magic Leap One attraveso il Lumin SDK, tutti i visori Oculus, ARCore per le app AR su Android e ARKit per le app AR su iOS.

L’installazione dell’Unity XR Management avviene attraverso il package manager dalla versione 2019.3 in poi.

MRTK

Il Mixed Reality Toolkit è un insieme di strumenti open source multipiattaforma nato quando è stato rilasciata la prima versione di Hololens nel 2016. Nel 2019 è stata rilasciata la versione 2 che lo rende compatibile con tutti i device Hololens e Windows Mixed Reality ma anche con i visori che supportano lo standard Open VR.

https://microsoft.github.io/MixedRealityToolkit-Unity/README.html

Per installare il MRTK bisogna aver installata l’ultima versione LTS di Unity la 2018.4 ed installare il Mixed Reality Toolkit scaricabile da github.

Lumin SDK

Lumin è il toolkit per sviluppare su Magic Leap One. Integrato in Unity permette di creare esperienze di spatial computing usando i visore MR di Magic Leap. Gli sviluppatori di Magic Leap stanno lavorando ad un SDK che renda compatibile lo sviluppo a tutti i device con il nuovo SDK Magicverse.
Lumin si integra perfettamente in Unity.

https://www.magicleap.com/en-us/news/product-updates/lumin-sdk-0-24-and-the-magicverse-sdk-technical-preview

Il Lumin SDK è installabile attraverso il package manager ed è perfettamente integrato dalla versione 2019.3 in poi.

XRTK

XRTK è un framework opensource che permette di sviluppare esperienze immersive multi-piattaforma da un unico progetto Unity. Il toolkit è compatibile dalla versione 2019.1 e successive e si installa attraverso un package scaricabile da questo indirizzo https://github.com/XRTK/XRTK-Core/releases

Il framework è compatibile con tutti i device OpenVR ma per avere delle informazioni in più il sito è https://xrtk.io/

La domanda che mi viene fatta spesso è quale tra i toolkit è il migliore. Ovviamente una risposta giusta non c’è ovvero la risposta è dipende. Se vogliamo fare un applicazione che sia compatibile con il più alto numero di device sceglierò un toolkit compatibile con le paittaforme sulle quali voglio esportare perciò l’XRTK o Unity XR SDK può andare bene, se invece voglio concentrarmi su una piattaforma la soluzione migliore è utilizzare il toolkit creato dalla casa madre del device. Questa scelta va fatta in fase di pre-produzione che è la fase più delicata della produzione di un’esperienza immersiva.