Zusammenfassung
Dieser Leitfaden zum Unity SDK für XREAL One Pro zeigt Entwicklern und Business-Teams, wie sie mit dem XREAL SDK 3.1.0 eine App erstellen und testen. Das erste Ergebnis ist eine Android-APK, die über XREAL Control Glasses auf einem unterstützten Smartphone geöffnet wird. Beginnen Sie mit dem offiziellen Hello-MR-Beispiel und ergänzen Sie anschließend ein einfaches Panel für geschäftliche Anweisungen, wenn Sie eigene Workflow-Inhalte darstellen möchten.
Für den ersten Hello-MR-Build ist kein eigener Code nötig. Eine geschäftsspezifische Anwendung erfordert dagegen Unity-Entwicklungsarbeit, sobald Teams eigene Schritte, Steuerelemente, Datenflüsse, Authentifizierung oder eine Backend-Anbindung hinzufügen. Die XREAL One Pro ist ein angeschlossenes Display und kein eigenständiger Computer – die App läuft daher auf dem unterstützten Smartphone. Klären Sie Kompatibilität, Berechtigungen, Datenverarbeitung und Geräteverwaltung mit Ihrem internen Technikteam, bevor Sie breiter ausrollen.
Einleitung
Der Unity-SDK-Workflow für die XREAL One Pro ist ein praktischer Weg, eine freihändig bedienbare Business-Oberfläche zu testen, etwa eine Aufgabenliste, eine Ansicht für Remote-Anleitung oder eine kurze Arbeitsanweisung. Auf der Produktseite der XREAL One Pro bei VR Expert finden Sie einen Überblick über das Gerät. Dieser Leitfaden konzentriert sich auf den Entwicklungsweg mit Unity und auf die Prüfungen, die vor einem Business-Pilotprojekt wichtig sind: unterstütztes Host-Smartphone, das richtige XREAL-Plug-in, Android-Berechtigungen und ein sauberer erster Build.
Anforderungen für das XREAL One Pro Unity SDK
- Entwicklungsweg: XREAL SDK for Unity. Native Android-, Java- oder Kotlin-Entwicklung behandelt dieser Leitfaden nicht.
- Aktuelle SDK-Dokumentation: Zum Zeitpunkt der Prüfung Version 3.1.0. Lesen Sie vor Entwicklung oder Rollout die aktuellen Release-Notes von XREAL.
- Unity-Versionen im Quickstart: Unity 2021.3 LTS, 2022.3 LTS oder Unity 6000.0 LTS mit Android Build Support.
- Unterstützter Host: XREAL nennt Beam Pro oder unterstützte Android-Smartphones; im Quickstart werden die Flaggschiffserien ab Samsung S24 genannt. Die Notes zu Version 3.1.0 führen Beam Pro und Samsung S25 als getestet kompatibel auf.
- Tracking auf der One Pro: Beginnen Sie mit 3DoF. XREAL SDK 3.1.0 ergänzt 6DoF für die One-Serie bei angeschlossenem XREAL Eye und aktualisierter Brillen-Firmware.
- Smartphone-Verbindung: Das Smartphone benötigt einen Videoausgang über USB-C mit DisplayPort und muss zusätzlich als Host für das XREAL SDK kompatibel sein. Ein Bildausgang allein belegt noch keine SDK-Unterstützung.
Bevor Sie Unity öffnen
· Unterstütztes Host-Smartphone: Verwenden Sie Beam Pro oder ein Smartphone, das in der aktuellen SDK-Dokumentation von XREAL als kompatibel aufgeführt ist. Der Quickstart nennt derzeit die Flaggschiffserien ab Samsung S24; die Release-Notes zu 3.1.0 nennen Beam Pro und Samsung S25 als getestet kompatible Hosts (XREAL testet das S24 unter Android 14 und das S25 unter Android 15). Aktualisieren Sie das Smartphone möglichst nicht auf Android 16, da die XREAL-Dokumentation den Hinweis „Bitte aktualisieren Sie Ihre Entwicklungsgeräte nicht auf Android 16“ enthält, und deaktivieren Sie Samsung DeX während der Entwicklung.
· Unity: Installieren Sie einen von XREAL aufgeführten Unity-LTS-Editor mit Android Build Support. Falls Android Build Support fehlt, fügen Sie ihn über Unity Hub > Installs > (Ihr Editor) > Add modules hinzu.
· Android-SDK-Tools: Installieren Sie Android SDK 12.0 (API 31) oder neuer über Android Studio > More Actions > SDK Manager oder in einem geöffneten Android-Studio-Projekt über Tools > SDK Manager. Dies ist lediglich die Android-Build-Toolchain für Unity, kein Workflow für native Apps.
· SDK und Runtime: Laden Sie XREAL SDK for Unity 3.1.0 von der Download-Seite für XREAL-Entwickler herunter. ControlGlasses 3.1.0 erhalten Sie über den Link in den Release-Notes zu SDK 3.1.0; die Download-Seite führt noch den älteren Build 1.1.0, der zu SDK 3.0.0 gehört. Lesen Sie vor dem Testen die aktuellen Firmware-Hinweise.
· SDK-Bedingungen und Datenhinweis: Prüfen und akzeptieren Sie vor der Entwicklung die aktuellen XREAL APIs Terms. XREAL verlangt von Entwicklern offenzulegen, wie das SDK in der App Daten erhebt und verarbeitet, und empfiehlt, das XREAL SDK zu nennen und auf dessen Datenschutzerklärung zu verlinken. Ergänzen Sie dies zu den eigenen Datenschutzinformationen und dem Prüfprozess Ihrer Organisation.
· Brillenkabel: Verwenden Sie eine USB-C-Verbindung, die DisplayPort-Video unterstützt. Stellen Sie sicher, dass das Smartphone zudem ein vom SDK unterstützter Host ist, denn das ist eine separate Prüfung.
Die erste XREAL-One-Pro-App erstellen und ausführen
Schritt 1: Android-Unity-Projekt anlegen
· Öffnen Sie Unity Hub. Wählen Sie Projects und dann New project.
· Wählen Sie eine Vorlage. Wählen Sie eine 3D-Vorlage, geben Sie einen eindeutigen Projektnamen wie `BusinessXREALPilot` ein und klicken Sie auf Create project.
· Wechseln Sie zu Android. Öffnen Sie im Unity Editor File > Build Settings bzw. in Unity 6 das Android Build Profile. Wählen Sie Android und dann Switch Platform.
Prüfung: Die Android-Plattform ist ausgewählt und Unity hat den Import des Projekts abgeschlossen.
Schritt 2: Unity-XR-Pakete installieren
· Öffnen Sie den Package Manager. Wählen Sie im Unity Editor Window > Package Manager.
· Wählen Sie die Unity Registry. Nutzen Sie das Menü für die Paketquelle oben links und suchen Sie dann nach XR Interaction Toolkit.
· Installieren Sie das Toolkit. Wählen Sie XR Interaction Toolkit (XREAL unterstützt 2.5.x und 3.0.x) und klicken Sie auf Install. Öffnen Sie den Tab Samples und importieren Sie Starter Assets und Hands Interaction Demo; laut den Troubleshooting-Hinweisen von XREAL zeigt HelloMR ohne das Hands-Beispiel fehlende Prefabs an.
· Halten Sie den ersten Build schlank. Verzichten Sie auf AR Foundation. Die Kompatibilitätstabelle von XREAL weist Plane Tracking, Image Tracking, Hand Tracking, Depth Mesh und Spatial Anchors für die XREAL One-Serie als nicht unterstützt aus – mit oder ohne Kamera-Add-on; diese Funktionen erfordern die Air 2 Ultra, daher kann ein One-Pro-Prototyp sie nicht nutzen.
Prüfung: XR Interaction Toolkit erscheint im Projekt und das Beispiel Starter Assets ist importiert.
Schritt 3: XREAL SDK for Unity importieren
· Öffnen Sie das Paketmenü. Klicken Sie im Package Manager auf die Plus-Schaltfläche und wählen Sie Add package from tarball.
· Wählen Sie das SDK-Archiv. Navigieren Sie zur heruntergeladenen Datei `com.xreal.xr.tar.gz` und klicken Sie auf Open.
· Importieren Sie das erste Beispiel. Wählen Sie im Package Manager XREAL XR Plugin, öffnen Sie Samples und importieren Sie Interaction Basics. Lassen Sie das Beispiel AR Features weg: Seine Plane-, Image- und Anchor-Funktionen laufen auf der One-Serie nicht.
Prüfung: XREAL XR Plugin wird im Package Manager aufgeführt und Interaction Basics steht zum Import bereit.
Schritt 4: XREAL-Plug-in für Android aktivieren
· Öffnen Sie die Project Settings. Wählen Sie Edit > Project Settings > XR Plug in Management.
· Wählen Sie Android. Öffnen Sie den Android-Tab und setzen Sie das Häkchen bei XREAL.
· Wenden Sie Projektkorrekturen an. Wenn Project Validation mit Warnungen erscheint, öffnen Sie es und klicken Sie neben den erforderlichen Korrekturen auf Fix All. Warten Sie, bis Unity die Einstellungen geändert hat.
Prüfung: Der Android-Tab zeigt XREAL als aktiviert und die erforderlichen Validierungspunkte sind behoben.
Schritt 5: Geräteunterstützung und Tracking für die One Pro festlegen
· Öffnen Sie die XREAL-Einstellungsseite. Wählen Sie in den Project Settings XR Plug in Management > XREAL.
· Prüfen Sie die Gerätekategorie. Aktivieren Sie unter Support Devices die Kategorie Vision für Brillen der XREAL One Series.
· Wählen Sie das Tracking. Setzen Sie Initial Tracking Type für One-Pro-Brillen ohne XREAL Eye auf MODE_3DOF. Setzen Sie MODE_6DOF nur, wenn XREAL Eye angeschlossen ist und die Brillen-Firmware wie für SDK 3.1.0 vorgegeben aktualisiert wurde.
· Wählen Sie die Eingabe für den Prototyp. Setzen Sie Initial Input Source auf Controller, damit das unterstützte Android-Smartphone als Controller der App dienen kann. Der Controller-Strahl wird in Schritt 11 konfiguriert.
Prüfung: Das Projekt ist für die XREAL One Series konfiguriert und der Tracking-Modus passt zur angeschlossenen Hardware.
Schritt 6: Android-Build-Werte festlegen
· Öffnen Sie die Player Settings. Kehren Sie zu File > Build Settings bzw. zum Android Build Profile zurück, wählen Sie Player Settings und öffnen Sie dann Other Settings.
· Geben Sie der App eine eindeutige ID. Geben Sie einen Package Name im Reverse-Domain-Stil ein, zum Beispiel `com.companyname.workflowpilot`. Belassen Sie in einem Produktivprojekt nicht die Beispiel-ID.
· Legen Sie die App-Identität fest. Setzen Sie im selben Bereich der Player Settings Company Name und Product Name auf die Namen Ihrer Organisation und Ihrer Pilot-App. Setzen Sie unter Resolution and Presentation die Default Orientation auf Portrait, wie im Quickstart von XREAL gezeigt.
· Legen Sie die Grafikoptionen fest. Deaktivieren Sie gemäß dem Quickstart von XREAL die Option Auto Graphics API und verwenden Sie OpenGLES3.
· Legen Sie die Android-API-Level fest. Setzen Sie Minimum API Level auf Android 10 oder neuer und Target API Level auf Automatic (highest installed). Installieren Sie im SDK Manager Android SDK API 31 oder höher. Es handelt sich um getrennte Einstellungen: installierte SDK-Tools und minimale App-Version.
· Legen Sie die Android-Architektur fest. Aktivieren Sie unter Player Settings > Other Settings > Configuration ARM64 für das Zielsmartphone und setzen Sie Scripting Backend auf IL2CPP, wenn Sie für ARM64 bauen. XREAL dokumentiert diese Anforderung für ARM64-Builds.
Prüfung: Das Projekt verwendet die Paket-ID und die Android-Einstellungen, die für den Unity-Build erforderlich sind.
Schritt 7: Android-Manifest- und Berechtigungsprüfungen bestehen
· Verwenden Sie zunächst das generierte Manifest. Unity und das XREAL-Paket erzeugen bzw. mergen beim Build die Einträge im Android-Manifest. Erstellen Sie für ein einfaches Beispiel kein eigenes Android-Manifest, es sei denn, eine XREAL-Einstellung oder eine dokumentierte Funktion erfordert es. Entscheidend beim Manifest ist, dass die finale App die Berechtigungen und die App-Konfiguration deklariert, die ihre Funktionen benötigen.
· Wählen Sie nur benötigte Berechtigungen. Öffnen Sie unter Project Settings > XR Plug in Management > XREAL den Bereich Android Permissions. Aktivieren Sie Camera nur für eine kamerabasierte Funktion, Audio nur, wenn die App Audiozugriff benötigt, und Vibration nur, wenn die App haptisches Feedback nutzt.
· Erlauben Sie die Laufzeitberechtigung für die Anzeige. Wenn Control Glasses beim Start eine Berechtigung anfordert, erlauben Sie Control Glasses, über anderen Apps angezeigt zu werden. Falls Sie die Abfrage geschlossen haben, öffnen Sie Android-Einstellungen > Apps > Spezieller App-Zugriff > Über anderen Apps einblenden > Control Glasses und aktivieren Sie die Option. Die genauen Bezeichnungen können je nach Smartphone abweichen.
Prüfung: Das XREAL-Paket ist nur für die Berechtigungen konfiguriert, die Ihr Prototyp benötigt, und Control Glasses kann beim Start über anderen Apps angezeigt werden.
Schritt 8: Hello MR öffnen und die Szene prüfen
· Suchen Sie das importierte Beispiel. Öffnen Sie im Project-Fenster von Unity Assets > Samples > XREAL XR Plugin > die installierte Paketversion > Interaction Basics.
· Öffnen Sie die Beispielszene. Doppelklicken Sie auf `HelloMR.unity`. Falls sie nicht vorhanden ist, kehren Sie zu Window > Package Manager > XREAL XR Plugin > Samples zurück und importieren Sie Interaction Basics.
· Speichern Sie die Szene. Wählen Sie File > Save. Prüfen Sie die Hierarchy und stellen Sie sicher, dass die Beispielobjekte sichtbar sind.
Prüfung: Hello MR öffnet sich ohne fehlende Beispiel-Assets. Dieses Beispiel bietet Ihnen eine Ausgangsbasis ganz ohne eigenen Code.
Schritt 9: Ein Panel für geschäftliche Anweisungen mit Unity C# hinzufügen
· Entscheiden Sie, ob Sie Code hinzufügen. Überspringen Sie diesen Schritt, um das unveränderte Hello-MR-Beispiel zu bauen. Führen Sie ihn aus, wenn der Prototyp Ihre eigenen geschäftlichen Anweisungstexte anzeigen soll.
· Erstellen Sie ein World-Space-Canvas. Klicken Sie in der Hierarchy mit der rechten Maustaste und wählen Sie UI > Canvas. Platzieren Sie das Canvas in der Hierarchy direkt in der Wurzel der Szene oder unter XR Origin (hängen Sie es nicht direkt an Main Camera, um ein starres Mitwandern mit dem Kopf zu vermeiden). Setzen Sie Render Mode auf World Space. Setzen Sie in Rect Transform die Position auf X 0, Y 0, Z 1.5 (vor dem Startpunkt des Nutzers), die Rotation auf 0, 0, 0 und die Skalierung auf allen Achsen auf 0.001.
· Fügen Sie Aufgaben- und Statustext hinzu. Klicken Sie in der Hierarchy mit der rechten Maustaste auf Canvas und wählen Sie UI > Text - TextMeshPro. Importieren Sie TMP Essentials, wenn Unity danach fragt. Benennen Sie das erste Textobjekt in InstructionText um. Erstellen Sie ein zweites Text - TextMeshPro-Objekt namens StatusText. Geben Sie beiden gut lesbare Textfelder, zum Beispiel Breite 900, Höhe 180, Schriftgröße 42. Platzieren Sie StatusText unterhalb der Anweisung.
· Fügen Sie eine Schaltfläche zum Abschließen hinzu. Klicken Sie in der Hierarchy mit der rechten Maustaste auf Canvas und wählen Sie UI > Button - TextMeshPro. Benennen Sie die Schaltfläche in MarkCompleteButton um und setzen Sie ihre sichtbare Beschriftung auf Mark complete. Falls die Szene kein EventSystem hat, erstellen Sie eines über Hierarchy > Rechtsklick > UI > Event System. Erstellen Sie in Assets ein C#-Skript namens BusinessChecklistDisplay und öffnen Sie es in Ihrem Code-Editor für Unity.
Prüfung: Die Szene enthält ein World-Space-Canvas, ein TextMeshPro-Textobjekt und eine neue C#-Skriptdatei.
using TMPro; using UnityEngine; using UnityEngine.UI;
public class BusinessChecklistDisplay : MonoBehaviour { [SerializeField] private TMP_Text instructionText; [SerializeField] private TMP_Text statusText; [SerializeField] private Button completeButton;
[TextArea(2, 5)] [SerializeField] private string instruction = "Review the assigned task.\nConfirm the required item.";
private void Start() { if (instructionText == null || statusText == null || completeButton == null) { Debug.LogError("Assign the text fields and button in the Inspector.", this); return; }
instructionText.text = instruction; statusText.text = "Status: Not complete"; completeButton.onClick.AddListener(MarkComplete); }
private void MarkComplete() { statusText.text = "Status: Complete (local demo)"; completeButton.interactable = false; }
private void OnDestroy() { if (completeButton != null) completeButton.onClick.RemoveListener(MarkComplete); } }
Umfang für Entwickler: Dieser Code zeigt Anweisungen an und ändert den Status lokal, wenn die Schaltfläche ausgewählt wird. Er speichert keine Aufgabe in einem Unternehmenssystem, authentifiziert keine Nutzer und sendet keine Daten über ein Netzwerk. Diese Funktionen erfordern Anwendungscode, der zur API, zum Identitätsmanagement und zum Datenverarbeitungskonzept Ihrer Organisation passt. Legen Sie keine Zugangsdaten oder echten Geschäftsdaten in der APK ab.
Schritt 10: Das Skript mit dem Anweisungspanel verbinden
· Warten Sie, bis Unity kompiliert hat. Speichern Sie das Skript im Code-Editor, kehren Sie zu Unity zurück und warten Sie, bis die Kompilierungsanzeige verschwindet.
· Hängen Sie das Skript an. Ziehen Sie `BusinessChecklistDisplay` aus dem Project-Fenster auf das Canvas in der Hierarchy.
· Weisen Sie die UI-Felder zu. Wählen Sie das Canvas aus. Suchen Sie im Inspector die Komponente Business Checklist Display. Ziehen Sie InstructionText und StatusText aus der Hierarchy in die passenden Felder und anschließend MarkCompleteButton in Complete Button.
· Legen Sie die Beispielwerte fest. Ersetzen Sie in derselben Inspector-Komponente den Wert von Instruction durch freigegebene, nicht vertrauliche Demo-Formulierungen. Speichern Sie die Szene. Nach der Auswahl ändert die Schaltfläche StatusText in „Complete (local demo)“; sie übermittelt oder speichert kein echtes Geschäftsergebnis.
Prüfung: Der Inspector zeigt beide Textfelder und die Schaltfläche als zugewiesen, und der Statustext ändert sich, wenn Sie im Unity Editor Mark complete auswählen.
Schritt 11: Controller-Auswahl für die UI konfigurieren
· Legen Sie das Input Module des EventSystem fest. Wählen Sie EventSystem in der Hierarchy aus. Entfernen Sie Standalone Input Module, falls vorhanden, und fügen Sie dann über Add Component das XR UI Input Module hinzu. Wenn das Preset aus den XRI Starter Assets verfügbar ist, wenden Sie XRI Default XR UI Input Module an, damit das Modul die erwarteten Input Actions erhält.
· Legen Sie den Raycaster des Canvas fest. Wählen Sie Canvas aus. Entfernen Sie Graphic Raycaster und fügen Sie Tracked Device Graphic Raycaster hinzu. So kann ein per XR getrackter Strahl die Schaltfläche anvisieren.
· Aktivieren Sie die UI-Interaktion für den Controller-Strahl. Wählen Sie unter XR Origin das Controller-Objekt mit dem XR Ray Interactor aus. Aktivieren Sie im Abschnitt UI Interaction die Option Interaction with UI GameObjects. Belassen Sie die XREAL Initial Input Source wie in Schritt 5 auf Controller.
· Prüfen Sie den Controller-Pfad. Das Beispiel Interaction Basics sollte die Controller-Objekte und Input Actions bereitstellen. Falls XR Origin keinen XR Ray Interactor hat, importieren Sie das Beispiel XRI Starter Assets und verwenden Sie vor dem Build dessen XR-Origin-/Controller-Setup.
Prüfung: Im Unity Editor hebt der Controller-Strahl die Schaltfläche Mark complete hervor, und ihre Auswahl ändert den Statustext. Wiederholen Sie diesen Test auf dem unterstützten Smartphone mit der Brille, bevor Sie den Ablauf in einem Pilotprojekt einsetzen.
Schritt 12 (optional): Aufgabenabschluss mit einer Business-API verbinden
Business-API-Begriffe vor dem Programmieren
· REST-API: Eine Webadresse und ein vereinbartes Anfrageformat, mit denen die App Daten mit einem Unternehmensdienst austauschen kann.
· Access Token: Ein kurzlebiger Berechtigungsnachweis, der nach einer freigegebenen Anmeldung ausgestellt wird; die App sendet ihn, um nachzuweisen, dass der Nutzer die Aktion ausführen darf.
· Idempotenzschlüssel: Eine eindeutige Anfrage-ID, an der der Server eine Wiederholung erkennt, sodass derselbe Abschluss nicht doppelt gespeichert wird.
· HTTPS: Verschlüsselte Netzwerkkommunikation, die Daten auf dem Weg zwischen Smartphone und Server schützt.
· Legen Sie zuerst den API-Vertrag des Unternehmens fest. Erfragen Sie bei Ihrem Plattformteam den HTTPS-Endpunkt, die akzeptierten JSON-Felder, die Quelle der Nutzeridentität, den Aussteller der Access Tokens, die Erfolgsantwort und die Retry-Richtlinie. Das folgende Beispiel sendet taskId, operatorId, requestId und completedAtUtc; ordnen Sie diese Felder vor der Nutzung Ihrer Unternehmens-API zu. Verwenden Sie von Ihrer Organisation freigegebene opake IDs, keine Namen oder sensiblen Datensätze.
· Aktivieren Sie den Netzwerkzugriff für diesen Build. Öffnen Sie für die API-Version der App Edit > Project Settings > Player > Android > Other Settings > Configuration und setzen Sie Internet Access auf Require. Bauen Sie die App neu und prüfen Sie im gemergten Manifest, ob android.permission.INTERNET vorhanden ist. Für diese Berechtigung zeigt Android keine Abfrage an.
· Fügen Sie ein Connector-Skript hinzu. Erstellen Sie in Unity `BusinessTaskApi.cs`, fügen Sie beide aufeinanderfolgenden Codeblöcke der Reihe nach in dieselbe Datei ein und speichern Sie sie. Der zweite Block setzt sich innerhalb von SubmitCompletion fort. Der Endpunkt ist ein Platzhalter; ersetzen Sie ihn durch den freigegebenen Unternehmensendpunkt. Halten Sie das Access Token aus dem Inspector, dem Quellcode, der APK und den Logs heraus.
using System; using System.Collections; using System.Text; using UnityEngine; using UnityEngine.Networking;
[Serializable] public class TaskCompletionPayload { public string taskId; public string operatorId; public string requestId; public string completedAtUtc; }
public class BusinessTaskApi : MonoBehaviour { [SerializeField] private string completionEndpoint = "https://api.example.com/v1/task-completions";
public IEnumerator SubmitCompletion( string taskId, string operatorId, string accessToken, string requestId, Action<bool, string> onComplete) { if (string.IsNullOrWhiteSpace(taskId) || string.IsNullOrWhiteSpace(operatorId) || string.IsNullOrWhiteSpace(accessToken) || string.IsNullOrWhiteSpace(requestId)) { onComplete?.Invoke(false, "Missing task, user, token, or request ID."); yield break; }
if (!Uri.TryCreate(completionEndpoint, UriKind.Absolute, out Uri endpoint) || endpoint.Scheme != Uri.UriSchemeHttps) { onComplete?.Invoke(false, "Use the approved HTTPS API endpoint."); yield break; }
var payload = new TaskCompletionPayload { taskId = taskId, operatorId = operatorId, requestId = requestId, completedAtUtc = DateTime.UtcNow.ToString("o") }; byte[] body = Encoding.UTF8.GetBytes(JsonUtility.ToJson(payload));
using (var request = new UnityWebRequest(completionEndpoint, "POST")) { request.uploadHandler = new UploadHandlerRaw(body); request.downloadHandler = new DownloadHandlerBuffer(); request.timeout = 20; request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer " + accessToken); request.SetRequestHeader("Idempotency-Key", requestId);
yield return request.SendWebRequest();
bool accepted = request.result == UnityWebRequest.Result.Success && request.responseCode >= 200 && request.responseCode < 300; string message = accepted ? "Completion accepted by the business system." : "Request failed (HTTP " + request.responseCode + "). " + request.error; onComplete?.Invoke(accepted, message); } } }
· Rufen Sie den Connector über die Schaltfläche auf. Fügen Sie dem Canvas eine `BusinessTaskApi`-Komponente hinzu und weisen Sie sie in `BusinessChecklistDisplay` dem Feld `taskApi` zu. Ersetzen Sie die rein lokale Methode `MarkComplete` durch einen Coroutine-Aufruf, nachdem das Identity-SDK Ihres Unternehmens ein gültiges Access Token und das Geschäftssystem die Aufgaben- und Operator-IDs bereitgestellt hat:
· Verdrahten Sie die authentifizierte Aktion. Im bestehenden Skript BusinessChecklistDisplay ruft die Schaltfläche derzeit die lokale Methode MarkComplete auf. Ändern Sie diesen Handler für den Produktivbetrieb so, dass der freigegebene Anmeldeablauf des Unternehmens ein Access Token beschafft und SubmitToBusinessSystem(token) aufruft. Fügen Sie kein Formular für Benutzername/Passwort hinzu und speichern Sie kein Token in der Szene.
// Fields to add to BusinessChecklistDisplay: [SerializeField] private BusinessTaskApi taskApi; [SerializeField] private string taskId; // Set from your approved task source. [SerializeField] private string operatorId; // Set from your approved identity source. // Call this after obtaining a short-lived token from the company identity SDK. private void SubmitToBusinessSystem(string accessToken) { string requestId = System.Guid.NewGuid().ToString("N"); StartCoroutine(taskApi.SubmitCompletion( taskId, operatorId, accessToken, requestId, HandleCompletionResult)); } private void HandleCompletionResult(bool accepted, string message) { statusText.text = accepted ? "Status: Submitted" : "Status: Not submitted"; Debug.Log(message); // Do not log tokens or sensitive business data. }
Wichtig: `accessToken` muss zur Laufzeit von Ihrem freigegebenen Anmeldeanbieter stammen. Der obige Funktionsname ist ein Übergabepunkt, keine vollständige Identitätsimplementierung. Konfigurieren Sie die API-seitige Autorisierung für Aufgabe und Nutzer, validieren Sie jedes Feld auf dem Server, verwenden Sie bei Wiederholungen eine stabile Anfrage-ID und deaktivieren Sie die Schaltfläche erst, wenn der Server die Anfrage akzeptiert hat. Passen Sie den Connector vor dem Produktiveinsatz an das Antwortschema Ihrer API und an Ihre Unity-Version an.
Prüfung: Stellen Sie in einer Testumgebung sicher, dass eine autorisierte Anfrage akzeptiert und ein abgelaufenes oder nicht autorisiertes Token abgelehnt wird, dass die Aufgabe bei einem Timeout sichtbar als nicht übermittelt verbleibt und dass eine Wiederholung mit derselben Anfrage-ID kein Duplikat erzeugt.
Schritt 13: Die Hello-MR-Szene zum Android-Build hinzufügen
· Öffnen Sie das Build-Fenster. Wählen Sie File > Build Settings. Klicken Sie unter Scenes In Build auf Add Open Scenes und stellen Sie sicher, dass HelloMR aufgeführt und angehakt ist.
· Bei Unity 6: Öffnen Sie das aktive Android Build Profile und fügen Sie die aktuell geöffnete HelloMR-Szene zu dessen Szenenliste hinzu.
Prüfung: Der Android-Build enthält die Szene, die Sie gerade getestet und angepasst haben.
Schritt 14: Die erste APK erstellen
· Stellen Sie sicher, dass Android aktiv ist. Prüfen Sie die ausgewählte Plattform in den Build Settings bzw. im Android Build Profile.
· Erstellen Sie die App. Klicken Sie auf Build, wählen Sie einen Ausgabeordner und nennen Sie die Datei `BusinessXREALPilot.apk`.
· Prüfen Sie das finale Manifest. Öffnen Sie Android Studio, wählen Sie Build > Analyze APK und anschließend BusinessXREALPilot.apk. Prüfen Sie in AndroidManifest.xml den Paketnamen und stellen Sie sicher, dass die deklarierten Berechtigungen zu den Funktionen dieses Pilotprojekts passen. Prüfen Sie die gebaute APK, denn sie enthält das gemergte Manifest, das Unity installieren wird.
· Bewahren Sie eine versionierte Testkopie auf. Speichern Sie die APK für ein Business-Pilotprojekt zusammen mit Unity-Version, XREAL-SDK-Version, Smartphone-Modell und Testdatum, damit das Team denselben Build reproduzieren kann.
Prüfung: Unity erstellt die APK ohne Build-Fehler, und das aufgelöste Manifest wurde vor der Installation geprüft.
Schritt 15: Die APK auf einem unterstützten Android-Smartphone installieren
· Verbinden Sie das Smartphone mit dem Computer. Nutzen Sie USB oder richten Sie Wireless ADB ein. Aktivieren Sie auf dem Smartphone die Entwickleroptionen und USB-Debugging, wenn Sie per Kabel installieren.
· Installieren Sie die APK. Nutzen Sie Build and Run in Unity oder führen Sie `adb install -r BusinessXREALPilot.apk` in einem Terminal aus, in dem ADB verfügbar ist.
· Bestätigen Sie die Android-Abfragen. Bestätigen Sie die Installations- und Debugging-Abfragen auf dem Smartphone. Belassen Sie die APK auf demselben unterstützten Smartphone, das Sie mit der Brille verwenden möchten.
Prüfung: Die neue Unity-App erscheint in der App-Liste des Smartphones.
Schritt 16: Die Business-App über Control Glasses starten
· Schließen Sie die Brille an. Trennen Sie das Smartphone vom Entwicklungsrechner und schließen Sie die XREAL One Pro an den USB-C-DisplayPort-Ausgang des Smartphones an.
· Öffnen Sie die Runtime-App. Öffnen Sie auf dem Smartphone Control Glasses. Suchen Sie `BusinessXREALPilot` in der App-Liste und tippen Sie auf die App. Auf dem Beam Pro wird stattdessen MyGlasses verwendet.
· Gewähren Sie den angeforderten Zugriff. Erlauben Sie Control Glasses, über anderen Apps angezeigt zu werden, wenn Android danach fragt. Gewähren Sie Kamera, Audio oder Vibration nur, wenn die Unity-App diese Funktionen nutzt und die entsprechende Berechtigung anfordert.
· Prüfen Sie das Ergebnis. Stellen Sie sicher, dass Hello MR und das optionale Panel für geschäftliche Anweisungen in der Brille sichtbar sind. Drehen Sie den Kopf behutsam, um zu prüfen, ob die Ansicht dem erwarteten 3DoF-Modus folgt.
Prüfung: Die App läuft auf dem unterstützten Smartphone und ihre Anzeige erscheint in der XREAL One Pro.
Prüfungen im Business-Pilotprojekt vor einem breiteren Einsatz
· Testen Sie mit freigegebenen Beispielinhalten. Halten Sie personenbezogene, Kunden- und vertrauliche Daten aus frühen Prototypen heraus.
· Prüfen Sie die genaue Kombination aus Smartphone und Firmware. Gehen Sie nicht davon aus, dass eine USB-C-Videoverbindung XREAL-SDK-Kompatibilität bedeutet.
· Prüfen Sie Eingabe und Lesbarkeit. Prüfen Sie Schriftgröße, Kontrast, Positionierung und die Anzahl der nötigen Aktionen, während Sie die Brille tragen.
· Prüfen Sie die Unternehmensanforderungen. Prüfen Sie vor einem breiteren Einsatz Authentifizierung, Datenspeicherung, Netzwerkzugriff, Update-Verteilung, Geräteverwaltung und geltende Datenschutzanforderungen wie die DSGVO.
· Halten Sie den App-Umfang realistisch. Dieses Projekt belegt, dass eine Unity-App auf diesem Setup laufen kann. Es belegt für sich genommen weder Produktionsreife noch eine Sicherheitszertifizierung oder die Unterstützung jedes Android-Smartphones.
Fazit
Ein geschäftsorientierter Prototyp für die XREAL One Pro beginnt in Unity mit dem aktuellen XREAL SDK, einem unterstützten Android-Host, dem XREAL-Plug-in samt Geräteeinstellungen sowie den richtigen Manifest- und Laufzeitberechtigungen. Die Hello-MR-Szene liefert einen ersten Build ohne Code, während eine kleine Unity-C#-Komponente ein einfaches Panel für geschäftliche Anweisungen ergänzen kann, bevor das Team eine APK erstellt und installiert. Starten Sie die App über Control Glasses und testen Sie sie mit genau dem Smartphone, der Firmware, den Inhalten und dem Workflow, die für das Pilotprojekt vorgesehen sind. Dieser Prozess hilft Unternehmen zu prüfen, ob freihändig bedienbare Spatial-Software zu ihren Anforderungen passt, technische und datenschutzrechtliche Anforderungen früh zu erkennen und fundiertere Entscheidungen zu treffen, bevor sie in einen breiteren Rollout investieren.
Auf der Produktseite der XREAL One Pro finden Sie Produktdetails. Kontaktieren Sie anschließend VR Expert, um zu besprechen, ob Gerät und Software-Setup zu den Entwicklungs- und Pilotanforderungen Ihrer Organisation passen.
Passender weiterführender Link: XREAL One Pro im Test für Profis





















