Anleitungen

Erste Schritte mit Unity und Android XR

Lesezeit: 6 Minuten
Profil von Luke Hopkins ansehen
Luke Hopkins Developer Relations Engineer, Android

Das Samsung Galaxy XR ist da und wird von Android XR unterstützt. Dieser Blogbeitrag ist Teil unserer Android XR Spotlight Week, in der wir Ressourcen wie Blogbeiträge, Videos und Beispielcode bereitstellen, die Ihnen helfen sollen, Ihre Apps für Android XR zu entwickeln und vorzubereiten. 

Nie war der Zeitpunkt für den Einstieg in die XR-Entwicklung besser. Im Dezember letzten Jahres haben wir Android XR angekündigt, die neue Android-Plattform von Google, die auf offenen Standards wie OpenXR und Vulkan basiert und die XR-Entwicklung so zugänglich wie nie zuvor macht.


In Kombination mit den vorhandenen XR-Tools von Unity erhalten Sie einen leistungsstarken und ausgereiften Entwicklungs-Stack. So können XR-Apps erstellt und bereitgestellt werden, die auf mehreren Geräten funktionieren.

openxr_face_tracking2.webp

Ganz gleich, ob Sie bereits XR-Anwendungen entwickelt haben oder nicht – wir möchten Ihnen den Einstieg erleichtern.

In diesem Blog erfahren Sie, wie Sie mit der Entwicklung für Android XR und Unity beginnen können. Wir konzentrieren uns auf die praktischen Schritte zum Konfigurieren Ihrer Umgebung, zum Verständnis des Paket-Ökosystems und zum Erstellen von Anwendungen.

Am Ende dieses Blogs haben Sie ein gutes Verständnis von:

  • Das Paket-Ökosystem
  • Wichtige Einrichtungsschritte
  • Eingabemethoden
  • Datenschutz und Berechtigungen
  • Kompositionsebenen

Unity für die Entwicklung für Android XR

Sie können Unity aufgrund der plattformübergreifenden Kompatibilität auswählen. So können Sie die App einmal erstellen und auf Android XR- und anderen XR-Geräten bereitstellen.

Wenn Sie Unity verwenden, profitieren Sie vom ausgereiften XR-Ökosystem und den entsprechenden Tools. Es enthält bereits etablierte Pakete wie das XR Interaction Toolkit, das OpenXR-Plug-in, XR-Kompositionsebenen, XR Hands, einen umfangreichen Asset Store mit XR-kompatiblen Komponenten und Vorlagen sowie XR-Simulations- und Testtools. Seit der Veröffentlichung von Unity 6 im November letzten Jahres profitieren Sie außerdem von der verbesserten Leistung der Universal Render Pipeline (URP), der besseren Vulkan-Grafikunterstützung und den optimierten Build-Profilen.

Hier sind einige Beispielprojekte, damit Sie sich ein Bild davon machen können, was möglich ist:

Wichtige Einrichtung: Ihre Entwicklungsgrundlage

Anforderungen und Installation von Unity 6

Sie benötigen Unity 6, um Ihre App zu erstellen, da frühere Versionen Android XR nicht unterstützen. Installieren Sie zuerst Unity Hub und dann Unity 6 mit dem Modul „Android Build Support“ (Anleitung).

unity6.png

Android XR-Build-Profile: Konfiguration vereinfachen

Unity-Build-Profile sind Projekt-Assets, in denen Ihre plattformspezifischen Einstellungen und Konfigurationen gespeichert werden. Anstatt 15 bis 20 verschiedene Einstellungen in mehreren Menüs manuell vorzunehmen, können Sie ein Build-Profil verwenden, um dies automatisch zu erledigen.
Sie können eigene Build-Profile erstellen, aber vorerst empfehlen wir, das von uns erstellte spezielle Android XR-Build-Profil zu verwenden.

Sie können Ihr Build-Profil in Ihrem Unity-Projekt unter „File“ > „Build Profile“ auswählen. Eine vollständige Anleitung finden Sie auf der Workflowseite Für Android XR entwickeln.

Wenn Sie eigene Änderungen vornehmen, können Sie ein neues Build-Profil erstellen, das Sie mit Ihrem Team teilen. So sorgen Sie für eine einheitliche Build-Erfahrung.

buildprofiles.png

Danach können Sie Ihr APK für Android XR-Geräte erstellen und ausführen.

Grafik-API: Warum Vulkan wichtig ist

Nachdem Sie Ihr Unity-Projekt mit einem Android XR-Build-Profil eingerichtet haben, sollten Sie zuerst prüfen, ob Vulkan als Grafik-API festgelegt ist. Android XR ist als Vulkan-First-Plattform konzipiert. Im März 2025 gab Google bekannt, dass Vulkan jetzt die offizielle Grafik-API für Android ist. Es handelt sich um eine moderne Low-Level-Grafik-API, mit der Entwickler die Leistung moderner GPUs maximieren und erweiterte Funktionen wie Raytracing und Multithreading für realistische und immersive Gaming-Grafiken nutzen können.

Diese Standards bieten die beste Kompatibilität für Ihre bestehenden Anwendungen und verringern die Probleme und Kosten der Portierung. Außerdem können Sie so erweiterte Android XR-Funktionen wie URP Application Space Warp und Foveated Rendering aktivieren. 

Unity 6 unterstützt Vulkan automatisch. Wenn Sie also das Android XR-Build-Profil verwenden, konfiguriert Unity Vulkan als Ihre Grafik-API. So erhalten Sie ohne manuelle Konfiguration Zugriff auf alle erweiterten Android XR-Funktionen.

Sie können Ihre Grafiken-API-Einstellungen überprüfen, indem Sie „Bearbeiten“ > „Projekteinstellungen“ > „Player“ > „Android-Tab“ > „Andere Einstellungen“ > „Grafiken-APIs“ aufrufen.

appentrypoint.png

Das Paket-Ökosystem verstehen

Es gibt zwei verschiedene Pakete, die Sie für Android XR in Unity verwenden können. Eine Möglichkeit ist die Verwendung der Android XR-Erweiterungen für Unity und die andere die Verwendung des Unity OpenXR: Android XR-Pakets.

Das klingt vielleicht nach dem Gleichen, aber bitte lesen Sie weiter.

Das Paket Unity OpenXR: Android XR ist das offizielle Unity-Paket für die Unterstützung von Android XR. Sie bietet die meisten Android XR-Funktionen, die über OpenXR-Standards verfügbar gemacht werden. Außerdem wird die AR Foundation-Integration für Mixed Reality-Funktionen ermöglicht. Der Hauptvorteil der Verwendung des Unity OpenXR: Android XR-Pakets besteht darin, dass es eine einheitliche API zur Unterstützung von XR-Geräten bietet.


Die Android XR Extensions for Unity sind das XR-Paket von Google, das speziell für die Entwicklung für Android XR-Geräte entwickelt wurde. Es ergänzt das Unity OpenXR-Paket um zusätzliche Funktionen wie Umgebungsüberblendungsmodi, Szenenvernetzung, Bild- und Körper-Tracking. Der Nachteil ist, dass Sie nur für Android XR-Geräte entwickeln können.


Welche Option Sie wählen, hängt von Ihren spezifischen Anforderungen ab. Wir empfehlen jedoch im Allgemeinen Unity OpenXR: Android XR, da Sie damit viel mehr Flexibilität bei den Geräten haben, mit denen Ihre App kompatibel ist. Basierend auf den Anforderungen Ihrer Anwendung können Sie dann Android XR-Erweiterungen für Unity hinzufügen.

Pakete installieren

Wenn Sie ein neues Paket hinzufügen möchten, wählen Sie bei geöffnetem Projekt in Unity „Window“ > „Package Management“ > „Package Manager“ aus.

Auf dem Tab „Unity Registry“ können Sie diese Pakete so installieren:

packagemanager.png

Sie können das Android XR-Paket für Unity über GitHub installieren. Klicken Sie dazu auf das ➕-Symbol, wählen Sie „Install package from git URL“ (Paket über Git-URL installieren) aus und geben Sie „https://github.com/android/android-xr-unity-package.git“ ein.

packagemanager2.png

Erforderliche OpenXR-Funktionen

Nachdem Sie die erforderlichen Pakete installiert haben, aktivieren wir einige Kernfunktionen, damit unser Projekt funktioniert.

Sie können die OpenXR-Einstellung für Android aktivieren: „Bearbeiten“ -> „Projekteinstellungen“ -> „XR-Plug-in-Verwaltung“ -> auf Android klicken und OpenXR aktivieren

xrpluginmgmt.png

Als Nächstes müssen wir die Unterstützung für „Android XR-Unterstützung“ aktivieren. Andere OpenXR-Funktionen werden wir bei Bedarf behandeln. Derzeit muss nur die Android XR-Unterstützung aktiviert sein.

Eingabe

Android XR unterstützt die Eingabe über Hände, Sprache, Eye-Tracking, Tastatur und Controller. Wir empfehlen, das XR Interaction Toolkit und XR Hands zu installieren, da diese die besten Prefabs für den Einstieg enthalten. Mit diesen Prefabs haben Sie alles, was Sie für die Unterstützung von Händen und Controllern in Ihrer App benötigen.

xrinteractiontoolkit.png

Sobald das XR Hands- und das XR Interactive-Toolkit installiert sind, empfehle ich, die Starter-Assets und die Hands Interaction Demo (Demo zur Interaktion mit Händen) zu importieren. Anschließend müssen Sie die Profile Hand Interaction (Handinteraktion) und Khronos Simple Controller (Khronos-Controller) aktivieren sowie das Hand-Tracking-Subsystem und die Meta-Funktionen für das Hand-Tracking-Zielen aktivieren.

Sie können diese Einstellungen bearbeiten, indem Sie zu Bearbeiten > Projekteinstellungen > XR-Plug-in-Verwaltung > OpenXR wechseln.

profiles.png

Wir empfehlen außerdem das Unity-Prefab XR Origin, das die Position und Ausrichtung des Nutzers im XR-Raum darstellt. Es enthält die Kamera und die Tracking-Komponenten, die zum Rendern Ihrer XR-Anwendung aus dem richtigen Blickwinkel erforderlich sind.

Am einfachsten fügen Sie dieses Prefab hinzu, indem Sie es aus der Demo zur Handintegration importieren, die wir zuvor importiert haben. Sie finden es hier: „Hands Integration Toolkit“ > „Hand Interaction“ > „Prefabs“ > „XR Origin“.

prefabs.png

Ich empfehle, dieses Prefab anstelle der Option „XR Origin“ in Ihren Spielobjekten zu verwenden, da es den XR Input Modality Manager verwendet, der automatisch zwischen den Händen und Controllern der Nutzer wechselt. So können Sie am besten zwischen Händen und Controllern wechseln.

Datenschutz und Berechtigungen: Nutzervertrauen aufbauen

Unabhängig davon, was Sie entwickeln, müssen Sie Laufzeitberechtigungen von den Nutzern einholen. Das liegt daran, dass die Szenenerkennung, die Verfolgung der Augenbewegungen, die Gesichtserkennung und die Handverfolgung Zugriff auf Daten ermöglichen, die für den Nutzer möglicherweise sensibler sind.

Diese Funktionen liefern mehr personenbezogene Informationen als herkömmliche Desktop- oder mobile Apps. Die Laufzeitberechtigungen sorgen dafür, dass Ihre Nutzer die volle Kontrolle darüber haben, welche Daten sie freigeben. Um die Sicherheits- und Datenschutzrichtlinien von Android einzuhalten, hat Android XR Berechtigungen für jede dieser Funktionen.

Wenn Sie beispielsweise das XR Hands-Paket für benutzerdefinierte Handgesten verwenden, müssen Sie die Berechtigung für die Handverfolgung (siehe unten) anfordern, da dieses Paket viele Informationen über die Hände des Nutzers erfassen muss. Dazu gehören das Erfassen von Handgelenksposen sowie von Winkel- und Linear-Geschwindigkeiten.

Hinweis: Eine vollständige Liste der Erweiterungen, für die Berechtigungen erforderlich sind, finden Sie auf der XR-Entwicklerwebsite.

const string k_Permission = "android.permission.HAND_TRACKING";

#if UNITY_ANDROID
void Start()
{
    if (!Permission.HasUserAuthorizedPermission(k_Permission))
    {
        var callbacks = new PermissionCallbacks();
        callbacks.PermissionDenied += OnPermissionDenied;
        callbacks.PermissionGranted += OnPermissionGranted;
        
        Permission.RequestUserPermission(k_Permission, callbacks);
    }
}

void OnPermissionDenied(string permission)
{
    // handle denied permission
}


void OnPermissionGranted(string permission)
{
    // handle granted permission
}

#endif // UNITY_ANDROID

Visuelle Qualität mit Kompositionsebenen verbessern

Die Composition Layer ist die empfohlene Methode zum Rendern von UI-Elementen. Damit lassen sich Elemente in einer viel höheren Qualität als mit der standardmäßigen Rendering-Pipeline von Unity darstellen, da alles direkt im Compositor der Plattform gerendert wird.

Wenn Sie beispielsweise Text rendern, ist es bei der Standard-Unity-Wiedergabe wahrscheinlicher, dass der Text verschwommen, die Kanten weich und visuelle Artefakte zu sehen sind. Bei Kompositionsebenen ist der Text klarer, die Konturen schärfer und die Nutzerfreundlichkeit insgesamt besser.


Neben Text werden auch Videos, Bilder und UI-Elemente in viel höherer Qualität gerendert. Dazu wird die native Unterstützung für die Compositor-Ebenen der Laufzeit genutzt.

Um Composition Layers zu aktivieren, öffnen Sie den Package Manager, wählen Sie „Unity Register“ aus und installieren Sie „XR Composition Layers“.

Erstellen und ausführen

Nachdem Sie die OpenXR-Pakete installiert und die Funktionen aktiviert haben, können Sie ein Prefab für Hand- und Kopfbewegungen einrichten, Ihre Szene erstellen und sie direkt auf Ihrem Headset bereitstellen, um sie zu testen.

Nächste Schritte: Fähigkeiten erweitern

Nachdem Sie Ihre Android XR-Entwicklungsumgebung eingerichtet haben und die wichtigsten Konzepte kennen, können Sie mit den folgenden Schritten Ihre XR-Entwicklung fortsetzen:

Wichtige Ressourcen für das kontinuierliche Lernen:

Beispielprojekte:

Geschrieben von:
Weiterlesen