Bereitstellung und Optimierung von UG für Meta Quest

Für Continuum XR bedeutete die Entwicklung von UG für Meta Quest, das Sammeln von Kreaturen, soziale Interaktion und physikbasierte VR Spielmechaniken zu einem skalierbaren Multiplayer-Erlebnis für eigenständige Headsets zu kombinieren. Inspiriert von Kreaturensammlern und Mech-Pilotenspielen, ermöglicht UG den Spielern, Dinosaurier durch Quests, Tauschhandel und Käufe zu sammeln und sie dann mit einer Fortbewegung im Gorilla-Stil zu reiten.
Um dieses Erlebnis zu ermöglichen, war es notwendig, die Multiplayer-Netzwerkfunktionen, die Bereitstellungsabläufe und die Leistungsoptimierung auf der gesamten Meta Quest-Hardware in Einklang zu bringen. Das Team musste außerdem Live-Updates, Netzwerksysteme und VR -Gameplay-Interaktionen unterstützen und gleichzeitig eine stabile Leistung auf mobiler Hardware gewährleisten.
Wir sprachen mit den VR Entwicklern Mark Minehan und Conrad Dugger sowie der Associate Producerin Hala Louviere über die Entwicklung und den Einsatz von UG mit Unity, die Optimierung von Netzwerk und Leistung für Standalone VR und die Skalierung eines Live-Multiplayer VR Spiels auf Meta Quest-Geräten.
Was waren Ihre wichtigsten technischen Ziele?
Mark Minehan: Für Meta Quest war es wichtig, dass das Spiel trotz des großen Umfangs von UG reibungslos läuft. Wir haben auch andere Engines getestet, aber Unity bot die beste Unterstützung und Leistung. Photon Fusion 2 Shared Mode skaliert gut, da ein Großteil der Netzwerkfunktionen clientseitig ausgeführt wird, wodurch die Entwicklung kostengünstig und skalierbar bleibt.
Unity bot uns die benötigten Integrationen und Unterstützung, sodass wir auf bestehende Tools aufbauen konnten, anstatt einen Netzwerk-Stack oder eine Game-Engine von Grund auf neu zu entwickeln.
Wie haben Sie Ihre Build-Pipeline in Unity strukturiert, um eine effiziente VR Bereitstellung zu unterstützen?
MM: Das Team nutzt Unity Version Control , damit die Mitglieder gleichzeitig an verschiedenen Branches arbeiten und ihre eigenen Änderungen verwalten können. Wir verwenden die Branches main, live, dev, beta und feature. Unity Version Control sorgt für die Synchronisierung im Team und erleichtert das Übertragen und Abrufen von Änderungen.
Für Builds und Deployments verwenden wir Unity Hub , um Android Package Kits (APK) zu erstellen, und Meta Quest Developer Hub, um sie innerhalb von Minuten bereitzustellen. Von dort aus stufen wir Builds hoch oder herab und geben sie an Spieler oder Alpha-Tester frei.
Conrad Dugger: Zum Start, insbesondere als UG an Zugkraft gewann, benötigten wir Einblick in das Geschehen im großen Stil. Da der Editor nicht jedes Szenario simulieren konnte, haben wir Debug-Symbole hochgeladen und ein Mixpanel-Dashboard verwendet, um Fehler kontinuierlich zu überwachen. Wir überprüfen es weiterhin täglich und nach jedem Patch, um sicherzustellen, dass keine Probleme wieder auftreten. Dies hilft uns, Probleme zu lösen, bevor sie sich auf die Spieler auswirken.
MM: Da wir über Meta direkt auf Absturzsymbole zugreifen können, war keine individuelle Lösung erforderlich. Unity ermöglicht es uns, sie im selben oder in einem separaten Schritt zu erstellen und auf Meta hochzuladen. Für Fehler und Ausnahmen, die von Absturzsymbolen nicht erfasst werden, haben wir spezielle Tools entwickelt, die die Uploads pro Spieler begrenzen und vollständige Stacktraces einschließen.
Wir werten diese Berichte zusammen mit der Benutzerhistorie aus, um genau festzustellen, was die Benutzer vor dem Eintreten eines Ereignisses getan haben. Mixpanel aggregiert Ereignisse, damit Teams Abfragen, Abläufe und Visualisierungen erstellen können, was uns hilft, Probleme schnell zu erkennen und zu beheben.

Was waren die größten Herausforderungen bei der Bereitstellung für VR -Geräte?
CD: Für den Aufbau ist unser Setup unkompliziert. Wir verwenden das integrierte Build-System von Unity und halten das Projekt auf dem Android Ziel. Wir erstellen die APK-Datei, laden sie in den Meta Quest Developer Hub hoch und vertreiben sie über die Meta Quest-Plattform. Gelegentlich müssen wir eine APK-Datei neu erstellen, und dabei ist es vereinzelt zu Upload-Fehlern gekommen.
MM: Während der Early-Access-Phase zog das Spiel böswillige Nutzer, Modder und Hacker an. Da die Auslieferung von APKs Sicherheitsrisiken barg, haben wir die Sicherheit unserer VR -Builds mit individuellen Lösungen und Unity Asset Store Add-ons verstärkt.
CD: Wir verwenden außerdem Verschleierungspakete, um Dateien und das Backend zu schützen. Unser Selbstbereitstellungsprozess beinhaltet Prüfungen mittels Meta-Attestierung, und PlayFab hilft bei der Überprüfung der Kontoaktivitäten und der Verhinderung unberechtigten Zugriffs. Wir erzwingen außerdem Mindestversionen, damit sich Spieler nicht mit veralteten APKs anmelden können.
Hala Louviere: Die VR Hardware verbessert sich von Generation zu Generation rasant, und viele Spieler nutzen immer noch die Meta Quest 2. Jede neue Funktion erfordert Überlegungen zur Leistungsfähigkeit. Wir bewerten regelmäßig Ideen anhand ihrer Auswirkungen auf die Leistung. Dieser Zielkonflikt stellt in der VR eine besondere Herausforderung dar, da Hardwareunterschiede das Spielerlebnis erheblich beeinflussen können.

Wie hat sich das Upgrade von Unity 2021.1 auf Unity 6 auf Ihren Deployment-Workflow ausgewirkt?
MM: Wir haben ursprünglich Unity 2021.1 verwendet, weil sich das Team darauf festgelegt hatte, aber diese Version hatte Build- und Workflow-Probleme, unter anderem Inkonsistenzen beim VR Fokus und Tracking.
Als wir auf Unity 6 umgestiegen sind, haben wir uns für eine Version entschieden, die für unseren Workflow stabiler ist. Das Upgrade erforderte Code-Aktualisierungen für veraltete APIs und dauerte einige Tage. Wir haben ein Stabilitäts-Upgrade durchgeführt.
CD: Wir sind auch deshalb umgestiegen, weil Unity 6 besser mit Fusion funktionierte. Unity 6 unterstützte außerdem ein PlayMode-Tool , das uns half, Multiplayer-Szenarien frühzeitig in der Entwicklung zu testen. Wir haben die Nutzung schließlich eingestellt, nachdem wir die Sicherheitsvorkehrungen verschärft hatten. Die meisten Migrationsprobleme konnten wir innerhalb von etwa einer Woche lösen.
MM: Das Überlaufverhalten des Animators stellte die größte Herausforderung dar, aber wir haben eine Lösung entwickelt.
Unity 6 hat keinen neuen Fehler eingeführt. Unity 6 hat ein bereits bestehendes Problem offengelegt, bei dem Animationszähler ihren Maximalwert erreichen. Anstatt das Problem zu ignorieren, haben wir spezielle Editor-Tools und -Systeme entwickelt, um betroffene Animationen zu identifizieren und zurückzusetzen, bevor sie überlaufen.

Wie haben Sie die Leistungsziele während der Bereitstellung auf der VR Hardware definiert und validiert?
MM: Wir erfassen verschiedene Leistungskennzahlen. Eine wichtige Kennzahl ist die Bildrate (fps), wobei auf unserem Gerät ein Zielwert von 72 fps angestrebt wird. Wir überwachen das Unterschreiten dieses Schwellenwerts und wie häufig dies geschieht. Wir verwenden den Unity Profiler und das Meta-Dashboard, die gerätespezifische Aufschlüsselungen liefern.
Der Speicherbedarf war aufgrund der Verwendung von Low-Poly-Assets und wiederverwendbaren Shadern kein großes Problem, daher kommt es nur selten zu speicherbedingten Abstürzen. Ein wichtiger Schwerpunkt liegt auf der Vernetzung, da UG viele Objekte und vernetzte Interaktionen umfasst. Wir arbeiteten direkt mit dem Photon-Team zusammen, um Leistungsprobleme und Abstürze zu beheben und Techniken wie die Verwendung von Interessensbereichen zur Verbesserung der Skalierbarkeit einzusetzen.
Wir erfassen auch Abstürze und untersuchen, ob neue Änderungen oder Leistungsprobleme die Ursache waren.
Wie haben Sie den Unity Profiler genutzt, um plattformspezifische Builds vor der Bereitstellung zu optimieren?
MM: Der Unity Profiler hilft uns, Lag-Spitzen zu verfolgen und FPS-Einbrüche zu überwachen. Wir können Rendering-Durchgänge, Speichernutzung und Frame-Aktivität überprüfen, um die Ursachen zu finden. Wir haben es verwendet, um ein Problem mit dem DinoDex zu untersuchen. Jeder Spieler hat seinen eigenen DinoDex, daher haben wir eine Szenensuch- API verwendet, um die relevante Komponente zur Laufzeit zu finden.
Im Editor funktionierte es, aber im Live-Test verursachte es beim Öffnen des DinoDex starke Ruckler. Der Profiler zeigte, dass der API -Aufruf in Szenen mit vielen Objekten Spitzenwerte auslöste. Wir haben das genaue Skript und die Funktion identifiziert und weitere Verwendungen desselben Musters gefunden, wodurch Verzögerungsspitzen im gesamten Projekt reduziert werden konnten.
CD: Es war von entscheidender Bedeutung für die Fehlersuche bei Leistungsproblemen. Das DinoDex-Problem könnte dazu führen, dass die Lobby beim Öffnen für einige Sekunden einfriert.
Ein weiteres Beispiel sind Spielerregale, in denen Reihen von Dinosauriern ausgestellt sind. Die ursprüngliche Implementierung erzeugte mehrere Netzwerkobjekte in einem einzigen Frame, was zu Leistungsspitzen führte.
Der Profiler zeigte, dass diese Spitzenwerte von Fusion-Spawn-Aufrufen und großen Objekthierarchien mit NetworkObject- und NetworkTransform-Komponenten herrührten. Es half uns, den genauen Frame und die Ursache zu ermitteln und spielbeeinträchtigende Probleme, einschließlich wiederholter Spawns und Abstürze, zu beheben.

Welche Bereitstellungsentscheidungen oder Optimierungen hatten den größten Einfluss auf die Bereitstellung eines stabilen und leistungsstarken VR Erlebnisses?
MM: Qualitätssicherung ist eine unserer Stärken. Unity ermöglicht es uns, gezielte Builds mit konfigurierbaren Einstellungen für Beta-Modi und andere Testumgebungen zu erstellen. Wir können Builds für kleinere Spielergruppen veröffentlichen, Probleme beheben und Updates innerhalb von Minuten, oft in weniger als 10 Minuten, auf die Alpha-Ebene bringen.
Dieser Workflow ermöglicht es uns, Änderungen schnell zu testen, bevor sie die Live-Spieler erreichen. Die Fähigkeit, häufige Updates bereitzustellen und diesen Feedback-Kreislauf aufrechtzuerhalten, ist der Schlüssel zur Stabilität.
CD: Die Optimierung erfolgt kontinuierlich seit Beginn der Entwicklung im Januar 2025. Wir haben schnell gehandelt, die Version bereits im September an Tester ausgeliefert und den Launch durchgeführt, anschließend haben wir wöchentliche Updates nachgeliefert.
Von Anfang an konzentrierten wir uns auf Netzwerktechnik, Leistung und Codequalität. Der Qualitätssicherungsprozess unterstützte dieses Tempo und ermöglichte so ein schnelles Testen neuer Systeme. Wir vermeiden außerdem Funktionen, die den damit verbundenen Leistungs- oder Entwicklungsaufwand nicht rechtfertigen.

Was ist Ihr bester Tipp für angehende VR Entwickler?
MM: Bau etwas, und sei es nur ein kleiner Prototyp. Es muss nicht poliert werden. Teile deine Arbeit über Game Jams, itch.io, SideQuest oder den Meta Horizon Store, um direktes Feedback zu erhalten. Nimm Kritik nicht persönlich und nutze Feedback zur Verbesserung. Viele VR Entwickler scheuen den Austausch während des Lernprozesses, doch das Arbeiten in Isolation bremst das Wachstum.
HL: Betatests sind unerlässlich. UG durchlief vor der Veröffentlichung vier bis sechs Wochen lang geschlossene Alpha- und Beta-Tests, die dazu beitrugen, das endgültige Nutzererlebnis zu gestalten. Da sich die Spieler nicht immer so verhalten, wie die Entwickler es erwarten, zeigen externe Tester, wie das Spiel tatsächlich gespielt wird. Dieses Feedback hilft den Entwicklern, die Lücke zwischen dem beabsichtigten und dem tatsächlichen Spielerlebnis zu schließen, und die Teams sollten es nicht ignorieren, selbst wenn sich ein Spiel schon fertig anfühlt.
Mehr über mit Unity erstellte Projekte erfahren Sie auf der Seite „Ressourcen“ .
