Getting Started

Getting Started — LeonardoXR SDK

Getting Started — LeonardoXR SDK

Version: 1.0.2
Target Device: Youbiquo Leonardo XR
Base SDK: Snapdragon Spaces 1.0.4


Introduzione

Questa guida spiega come configurare un progetto Unity per lo sviluppo su Leonardo XR, il visore AR di Youbiquo basato su Snapdragon Spaces. Lo scopo è familiarizzare con la configurazione dell’SDK per lo sviluppo di applicazioni su Leonardo. Nella guida successiva verrà mostrato come interagire con controller e mani.

Leonardo XR è basato su Android 12 e si programma con un workflow familiare a chiunque abbia già sviluppato applicazioni Android.


Software Richiesti

Prima di cominciare, assicurati di avere installato i seguenti software e pacchetti nelle versioni indicate:

Software / PacchettoVersione
Unity Hubultima disponibile
Unity Editor6000.0.37f1
LeonardoXR SDK1.0.2
Snapdragon Spaces SDK1.0.4
OpenXR Plugin1.15.1
AR Foundation6.2.1
XR Interaction Toolkit3.3.0
XR Hands1.7.2
UniTask2.5.10
VS Code, Visual Studio o editor analogo

Nota sul plugin OpenXR: A differenza della guida base Snapdragon Spaces (che raccomanda v1.10.0 per Unity 2022), con Unity 6 e LeonardoXR si usa OpenXR 1.15.1. Non modificare questa versione manualmente: il Package Manager la gestisce tramite le dipendenze dell’SDK.


Crea un Nuovo Progetto

  1. Apri Unity Hub e clicca su New Project.
  2. Seleziona il template Universal 3D.
  3. Assegna un nome al progetto (es. LeonardoXR_Test) e scegli la cartella di destinazione.
  4. Clicca su Create Project.

Dopo la creazione, Unity aprirà il progetto con una scena di esempio nel pannello Hierarchy.


Converti la Piattaforma in Android

  1. Nel menu principale seleziona File > Build Profiles.
  2. Nella finestra Build Profiles seleziona Android dalla lista Platform.
  3. Clicca su Switch Platform e attendi il completamento.
  4. Chiudi la finestra Build Profiles.

Installa i Pacchetti Richiesti

Apri il Package Manager con Window > Package Manager. Seleziona Unity Registry nella barra laterale sinistra e installa i seguenti pacchetti cliccando su Install:

  • AR Foundation — 6.2.1
  • XR Interaction Toolkit — 3.3.0
  • XR Hands — 1.7.2
  • UniTask — 2.5.10

Nota: XR Interaction Toolkit potrebbe richiedere il riavvio dell’editor dopo l’installazione. Se compare il prompt “Enable the new input system?”, clicca Yes.


Installa Snapdragon Spaces SDK

  1. Scarica e decomprimi Snapdragon Spaces SDK v1.0.4 dal portale ufficiale: https://spaces.qualcomm.com/developer/vr-mr-sdk/.
  2. Apri il Package Manager (Window > Package Manager).
  3. Clicca sul pulsante + e seleziona Add package from tarball…
  4. Naviga fino alla cartella decompressa e seleziona il file .tgz.
  5. Clicca Open. L’installazione partirà automaticamente.

Durante l’installazione potrebbero apparire due prompt:

  • “Enable the new input system?” → clicca Yes.
  • “XR Interaction Layer Mask Update Required” → poiché è un nuovo progetto, clicca I Made a Backup, Go Ahead!

L’editor si riavvierà. Questo è comportamento normale, non un crash.

Tip: Per avere il pacchetto referenziato con un percorso relativo (consigliato per il version control), copia il file .tgz nella cartella Packages del progetto prima di aggiungerlo.


Installa LeonardoXR SDK

  1. Scarica e decomprimi LeonardoXR SDK v1.0.2 dall’area Sviluppatori di Youbiquo.
  2. Apri il Package Manager (Window > Package Manager).
  3. Clicca sul pulsante + e seleziona Add package from tarball…
  4. Naviga fino al file compresso LeonardoXR SDK e seleziona il file .tgz.
  5. Clicca Open. LeonardoXR SDK verrà installato.

Configura XR Plugin Management e OpenXR

Apri Project Settings

Vai su Edit > Project Settings e seleziona XR Plug-in Management nella barra laterale sinistra.

Attiva OpenXR e Snapdragon Spaces

  1. Clicca sulla scheda Android (in alto a destra nella finestra).
  2. Nella sezione Plug-in Providers assicurati che siano spuntati:
    • OpenXR
    • Snapdragon Spaces feature group

Configura OpenXR Features

  1. Clicca su OpenXR nella barra laterale sinistra.
  2. Nella lista delle Snapdragon Spaces features, abilita solo Base Runtime e disabilita tutte le altre.
    Le features avanzate (Hit Testing, Plane Detection, ecc.) possono essere attivate in seguito secondo le necessità del progetto.

Attenzione: Per far funzionare correttamente Hand Tracking su LeonardoXR, l’opzione Hand Tracking Subsystem deve essere attivata nella sezione All Features di OpenXR.

Aggiungi LeonardoXR Feature Group

  1. Torna alla sezione XR Plug-in Management > Android.
  2. Nella lista Plug-in Providers spunta anche LeonardoXR feature group.

Esegui Project Validation

  1. Nella barra laterale di Project Settings, clicca su Project Validation.
  2. La finestra mostrerà una lista di errori di configurazione da risolvere.
  3. Clicca su Fix All per risolverli automaticamente.

Alcuni fix potrebbero richiedere il riavvio dell’editor. Ripeti la validazione dopo il riavvio per verificare che tutti gli errori siano stati risolti.


Importa i Samples

Prima di creare scene proprie è utile importare i sample inclusi nei vari pacchetti. Per ciascun pacchetto: apri Window > Package Manager, seleziona In Project, seleziona il pacchetto, espandi la sezione Samples e clicca Import.

Samples da importare per pacchetto

XR Hands:

  • Gestures
  • Hand Visualizer

XR Interaction Toolkit:

  • Starter Assets
  • Hand Interaction Demo

Snapdragon Spaces:

  • Core Samples

LeonardoXR:

  • Core Samples

Dopo aver importato tutti i samples, aggiungi le scene al build tramite Window > XR > Snapdragon Spaces > Add Scenes to Build Settings.


Configura URP

Graphics e Quality Settings

  1. Apri Edit > Project Settings > Graphics.
  2. In Default Render Pipeline clicca sul cerchietto e seleziona Mobile_RPAsset (Universal Render Pipeline Asset).
  3. Vai su Project Settings > Quality.
  4. Nella sezione Levels, assicurati che Mobile abbia un checkbox verde nella colonna Android. Se non è presente, clicca sul triangolo Default nella colonna Android e seleziona Mobile dal menu a discesa.
  5. Chiudi Project Settings.

Configura URP Assets

  1. Nella cartella Assets/Settings, seleziona Mobile_Renderer.

  2. Nel pannello Inspector per Mobile_Renderer, applica le seguenti modifiche:

    • Rendering → Depth Priming Mode: imposta su Disabled
    • Shadows → Transparent Receive Shadows: togli la spunta
    • Post-processing → Enabled: togli la spunta
    • Renderer Feature → SSAO: assicurati che sia disabilitato o rimosso
  3. Nella cartella Assets/Settings, seleziona Mobile_RPAsset.

  4. Nel pannello Inspector per Mobile_RPAsset, applica le seguenti modifiche:

    • HDR: disattiva
    • Anti Aliasing (MSAA): imposta su 4x

Configurazione Play In Editor

Questa sezione descrive come configurare il progetto per supportare lo sviluppo in Play-In-Editor, riducendo la necessità di fare deploy sul dispositivo ad ogni modifica.

Prerequisiti

Completa la configurazione base sopra prima di procedere.

OpenXR Project Settings

Vai su Edit > Project Settings > XR Plug-in Management e seleziona la scheda Windows, Mac, Linux.

Initialize XR On Startup: il valore deve corrispondere a quello della scheda Android:

  • Senza Dual Render Fusion → deve essere abilitato. Se disabilitato, appariranno avvisi sui subsystem mancanti.
  • Con Dual Render Fusion → deve essere disabilitato. Se abilitato, apparirà un avviso di loader già inizializzato.

XR Simulation (Opzionale): abilita XR Simulation sulla scheda Windows/Mac/Linux per usare gli ambienti di simulazione AR Foundation.

Nota: I subsystem XR Simulation sono solo per l’editor e potrebbero non coprire il 100% delle funzionalità Snapdragon Spaces. QR Code Tracking non ha un subsystem di simulazione equivalente.

Abilita Base Runtime Feature per Windows/Mac/Linux

Vai su Edit > Project Settings > XR Plug-in Management > OpenXR (scheda Windows, Mac, Linux) e abilita la feature Base Runtime.

Scene Configuration — Spaces XR Simulator

Aggiungi il componente Spaces XR Simulator a un root GameObject nella scena. Il componente persiste tra i cambi di scena (DontDestroyOnLoad) e può esistere una sola istanza alla volta.

ProprietàDescrizione
Start ConnectedSimula i glasses attivi e connessi (solo Dual Render Fusion).
Invert Sim Camera DisplayScambia i display del telefono e degli occhiali nell’editor (solo Dual Render Fusion).

Shortcut Dual Render Fusion in Editor

EventoScorciatoiaMenu
Connect GlassesAlt-Shift-CWindow > XR > Snapdragon Spaces > DRF > Simulation > Connect Glasses
Disconnect GlassesAlt-Shift-DWindow > XR > Snapdragon Spaces > DRF > Simulation > Disconnect Glasses
Glasses ActiveAlt-Shift-GWindow > XR > Snapdragon Spaces > DRF > Simulation > Glasses Active
Glasses IdleAlt-Shift-HWindow > XR > Snapdragon Spaces > DRF > Simulation > Glasses Idle

Tip: Tutto il comportamento finale deve sempre essere verificato sul dispositivo fisico, non solo nell’editor.


Installazione Completata

Il progetto è ora configurato per lo sviluppo su LeonardoXR. Nei documenti successivi troverai le guide per:

  • Configurazione VR/MR
  • Features disponibili (Spaces e LeonardoXR)
  • Samples di riferimento
  • Interaction (XR Interaction Toolkit, XR Hands)
  • Funzionalità avanzate