Anleitungen

Erste Schritte mit Unity und Android XR

Lesezeit: 6 Minuten
Luke Hopkins
Developer Relations Engineer, Android

Das Samsung Galaxy XR ist da und basiert auf Android XR. 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 Einstieg in die XR-Entwicklung einfacher. Letzten Dezember haben wir Android XR angekündigt, die neue Android-Plattform von Google, die auf offenen Standards wie OpenXR und Vulkan basiert. Dadurch ist die XR-Entwicklung so einfach wie nie zuvor.


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

openxr_face_tracking2.webp

Ganz gleich, ob Sie bereits Erfahrung mit der XR-Entwicklung haben oder nicht – wir möchten Ihnen den Einstieg erleichtern.

In diesem Blog erfahren Sie, wie Sie mit der Android XR- und Unity-Entwicklung 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, die Ihnen eine Vorstellung davon geben, 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 vornehmen zu müssen, 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 Workflow-Seite 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 vorhandenen 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. 

In Unity 6 wird Vulkan automatisch verarbeitet. 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

Für Android XR in Unity stehen zwei verschiedene Pakete zur Verfügung. 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 Android XR-Unterstützung. 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-Erweiterungen für 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“ (Fenster) > „Package Management“ (Paketverwaltung) > „Package Manager“ (Paketmanager) 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 und die Funktionen „Hand Tracking Subsystem“ (Hand-Tracking-Subsystem) und „Meta Hand Tracking Aim“ (Meta-Hand-Tracking-Ziel) 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 zuvor importierten Demo zur Handintegration importieren. 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 von Augen, Gesichtern und Händen Zugriff auf Daten ermöglicht, 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 teilen möchten. 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 ist, weiche Kanten und visuelle Artefakte aufweist. 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-Setup für Hand- und Kopfbewegungen verwenden, um Ihre Szene zu erstellen und direkt auf Ihrem Headset bereitzustellen, um sie zu testen.

Nächste Schritte: Fähigkeiten ausbauen

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:

Verfasst von:

Weiterlesen