Getting Started

Getting Started — LeonardoXR SDK

Getting Started

Version 1.0.2 | 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. L’obiettivo è familiarizzare gli sviluppatori con la configurazione dell’SDK per creare applicazioni su Leonardo. La guida successiva descrive come interagire con i controller e le mani.

Leonardo XR esegue Android 12 e segue un flusso di lavoro di sviluppo familiare a chiunque abbia già creato applicazioni Android.

Required Software

Prima di iniziare, assicurati che il seguente software e i pacchetti siano installati nelle versioni specificate:

Software / PackageVersion
Unity HubLatest available
Unity Editor6000.0.58f2 or newer
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 or similar IDE

NOTA A differenza della guida base di Snapdragon Spaces (che raccomanda la v1.10.0 per Unity 2022), Unity 6 con LeonardoXR utilizza OpenXR 1.15.1. Non modificare manualmente questa versione — il Package Manager la gestisce tramite le dipendenze dell’SDK.

Cra un Nuovo Progetto

  1. Apri Unity Hub e clicca New Project.
  2. Seleziona il template Universal 3D .
  3. Chiama il progetto (e.g. LeonardoXR_Test) e scegli la cartella di destinazione.
  4. Clicca Create Project.

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

Modifica Platform su Android

LeonardoXR è basato su Android 12, quindi dovremo passare alla piattaforma target Android.

  1. Dal menù principale seleziona File > Build Profiles.
  2. Nella finestra Build Profiles seleziona Android dall’elenco delle piattaforme.

  1. Clicca Switch Platform e attendi che il processo sia completatoand wait for the process to complete.
  2. Chiudi la finesta Build Profiles.

Installa Snapdragon Spaces SDK

IMPORTANT Snapdragon Spaces SDK deve essere installato prima di LeonardoXR SDK. Il runtime LeonardoXR dipende direttamente da questa installazione e non verrà compilato in assenza di essa.

Scarica Snapdragon Spaces SDK v1.0.4 da Qualcomm developer portal (è richiesto un account sviluppatore): https://spaces.qualcomm.com/developer/vr-mr-sdk/#downloads

  1. Apri Package Manager (Window > Package Manager).
  2. Clicca + e seleziona Add package from tarball…

  1. Cerca il file .tgz e clicca Open. L’installazione comincerà automaticamente.

Durante l’installazione, potrebbero apparire due prompt:

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

NOTA L’editor si riavvierà dopo l’installazione — questo è un comportamento previsto, non un crash. Per il controllo di versione, copia il file .tgz nella cartella Packages/ del progetto prima di aggiungerlo; il manifest utilizzerà quindi un percorso relativo, migliore per il source control..

Unity 6.3+ — Known Spaces SDK issue: Dopo l’installazione potresti vedere il seguente errore di compilazione:

BaseRuntimeFeature.InterceptEnvironmentBlendMode.cs(15,10): error CS0592:
Attribute 'SerializeField' is not valid on this declaration type.

Per risolverlo, fai doppio clic sull’errore nella Console per aprire il file, quindi rimuovi l’attributo [SerializeField] sulla riga 15. Si tratta di un bug in Snapdragon Spaces 1.0.4 che si manifesta solo su Unity 6.3 e superiori.

Install LeonardoXR SDK

Scarica LeonardoXR SDK v1.0.2 da Youbiquo Developer area.

  1. Apri il Package Manager (Window > Package Manager).
  2. Clicca + e seleziona Add package from tarball…

  1. Trova il file LeonardoXR SDK .tgz e clicca Open.

L’SDK sarà installato con le sue dipendenza: OpenXR Plugin 1.15.1AR Foundation 6.2.1XR Interaction Toolkit 3.3.0, e XR Hands 1.7.2 — non è richiesto nessuna installazione manuale di questi componenti.

LeonardoXR SDK Manager

Dopo l’installazione dell’SDK LeonardoXR, si apre automaticamente la finestra LeonardoXR SDK Manager . Se non appare, aprila da LeonardoXR > SDK Manager nella barra dei menu.

LA finestra ha due sezioni:

Setup tab

Mostra lo stato dei due pacchetti che non possono essere risolti automaticamente:

PackageStatusAction
Snapdragon Spaces SDK 1.0.4✓ / ✗Browse… — opens a file picker to select the .tgz and installs it via Package Manager
UniTask 2.5.10✓ / ✗Install — installs UniTask directly from the official Cysharp Git repository

Quando su entrambi i pacchetti appare il simbolo ✓, il setup è completo.

NOTA Se Snapdragon Spaces era già installato prima dell’SDK LeonardoXR, la sua riga mostrerà automaticamente ✓ . Usa il pulsante ↺ Refresh in qualsiasi momento per ricontrollare lo stato corrente.

About tab

Visualizza le informazioni di versione per l’SDK, il dispositivo e l’editor Unity.

Configura XR Plugin Management and OpenXR

Open Project Settings

Go to Edit > Project Settings e seleziona XR Plug-in Management nella sidebar di sinistra.

Enable OpenXR and Snapdragon Spaces
  1. Clicca sulla scheda Android (in altro a dentra nella finestra).
  2. Sotto Plug-in Providers, assicurati che siano attivi : OpenXR e Snapdragon Spaces feature group.

Configure OpenXR Features
  1. Clicca OpenXR nella sidebar a sinistra.
  2. Nell’elenco delle funzionalità di Snapdragon Spaces , abilita solo Base Runtime and disable all others. e disabilita tutte le altre. Le funzionalità avanzate (Hit Testing, Plane Detection, ecc.) possono essere abilitate in seguito se necessario.

NOTA Per assicurarti che Hand Tracking funzioni correttamente LeonardoXR, l’opzione Hand Tracking Subsystem deve essere attiva All Features nella sezione OpenXR.

Add LeonardoXR Feature Group
  1. Torna XR Plug-in Management > Android. 2.Nella lista Plug-in Providers seleziona anche LeonardoXR feature group.

Run Project Validation
  1. Nella sidebar Project Settings clicca Project Validation.
  2. La finestra mostrerà la lista degli errori da sistemare.

  1. Clicca Fix All per risolvere automaticamente.

NOTA Alcune correzioni potrebbero richiedere un riavvio dell’editor. Esegui nuovamente la validazione dopo il riavvio per confermare che tutti gli errori siano risolti.

Import Samples

Prima di creare le tue scene, è utile importare i sample inclusi in ciascun pacchetto. Per ogni pacchetto: apri Window > Package Manager, seleziona In Project, seleziona il pacchetto ed espandi la sezione Samples poi clicca Import.

PackageSamples
XR HandsGestures, Hand Visualizer
XR Interaction ToolkitStarter Assets, Hand Interaction Demo
Snapdragon SpacesCore Samples
LeonardoXRCore Samples, Documentation

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

Configure URP

Graphics and Quality Settings
  1. Apri Edit > Project Settings > Graphics.

  1. Under Default Render Pipeline, click the circle and select Mobile_RPAsset.

  1. Vai in Project Settings > Quality.
  2. Nel Levels section, assicurati che Mobile abbia un segno verde sulla colonna Android. In caso contrario clicca sul triangolo Default sotto Androide seleziona Mobile.

  1. Chiudi Project Settings.
Configura URP Assets

In Assets/Settings, seleziona Mobile_Renderer e imposta:

  • Rendering → Depth Priming Mode: imposta Disabled
  • Shadows → Transparent Receive Shadows: non selezionato
  • Post-processing → Enabled: non selezionato
  • Renderer Feature → SSAO: assicurati sia disabilitato o rimosso

In Assets/Settings, seleziona Mobile_RPAsset e imposta:

  • HDR: disattivato
  • Anti Aliasing (MSAA): imposta 4x

Play In Editor Configuration

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

OpenXR Project Settings

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

Initialize XR On Startup — il valore all’impostazione della scheda Androiddeve corrispondere:

  • Without Dual Render Fusion → deve essere enabled.
  • With Dual Render Fusion → deve essere disabled.

NOTE Attiva XR Simulation da Windows/Mac/Linux tper usare AR Foundation simulation environments. Nota che QR Code Tracking non ha un sistema di simulazione equivalente.

Enable Base Runtime Feature for Windows/Mac/Linux

Vai su Edit > Project Settings > XR Plug-in Management > OpenXR (Windows, Mac, Linux tab) e attiva Base Runtime .

Configurazione delle scene — Spaces XR Simulator

Aggiungi il componente Spaces XR Simulator alla root GameObject nella scena. Il componente persiste tra i caricamenti delle scene (DontDestroyOnLoad) e può esistere una sola istanza alla volta..

PropertyDescription
Start ConnectedSimulates glasses active and connected (Dual Render Fusion only).
Invert Sim Camera DisplaySwaps phone and glasses displays in the editor (Dual Render Fusion only).
Dual Render Fusion Editor Shortcuts
EventShortcutMenu Path
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

NOTA Tutti i comportamenti finali devono essere verificati sul dispositivo,non soltanto sull’editor.