Erste Schritte mit der Spieleentwicklung in Unity

In diesem Leitfaden wird ein typischer Spieleentwicklungszyklus beschrieben. Nachdem Sie diesen Leitfaden gelesen haben, kann es hilfreich sein, ihn auch als Referenz zu verwenden.

Wenn Sie mit Unity arbeiten, besteht der Entwicklungszyklus aus drei Phasen:

  • Planen und entwerfen
  • Entwickeln und testen
  • Veröffentlichen und verwalten

Planen und entwerfen

In der Planungs- und Designphase legen Sie fest, wie Sie Ihr Spiel entwickeln. Sie entscheiden, wie Sie die Herausforderungen der Entwicklung für Mobilgeräte angehen, und legen die Tools und Prozesse fest, die Sie bei der Entwicklung verwenden.

Input von allen Teammitgliedern einholen

Arbeiten Sie mit Ihren Teams für Grafik, Entwicklung, Design, Audio und Produktion zusammen, um Implementierungsaufgaben zu identifizieren und aufzuzeichnen. Beispiel:

  • Art-Teams erstellen möglicherweise Asset-Textur- und Mesh-Budgets für Charaktere und Umgebungen.
  • Das Engineering-Team kann Speicher- und Leistungsprüfpunkte für das Profiling auf jeder Plattform festlegen.
  • Das Design kann die Spielmechanik planen, die die Erfahrung ermöglicht.
  • Audioexperten können die Anforderungen an die Kontinuität des Sounds zwischen UI‑, 2D‑ und 3D‑Spatial-Sounds überprüfen.
  • Das Produktionsteam kann die Anforderungen für die Markteinführung kommunizieren und dafür sorgen, dass das Team auf dem richtigen Weg ist.

Für Mobilgeräte optimieren

Bei der Anwendungsentwicklung für mobile Plattformen sind bestimmte Aspekte zu berücksichtigen, z. B.:

  • Variables Bildschirmseitenverhältnis
  • Energieverbrauch
  • Drosselung aufgrund von Hitze und Prozessor
  • Eingabe per Berührung
  • Plattformübergreifende Entwicklung
  • Grafik-APIs (Vulkan oder OpenGL ES)

Weitere Informationen zu den besonderen Aspekten beim Design für Mobilgeräte finden Sie unter Android-Entwicklung in Unity von Unity und in der Google Play Academy.

Entwickeln und testen

In der Entwicklungs- und Testphase entwickeln Sie Ihr Spiel und führen Tests durch. Außerdem bereiten Sie die Veröffentlichung vor. Sie führen einige eingeschränkte interne Tests bei Google Play durch, um sich auf die Anforderungen für die Einführung vorzubereiten. Sie optimieren Ihre Bereitstellungsstrategie und organisieren Assets in Unity basierend auf den Systemen Play Asset Delivery und Addressables von Unity.

In den folgenden Abschnitten werden Unity-Tools und -Techniken beschrieben, die Ihnen bei der Entwicklung für Android helfen sollen.

Renderingzeit

Beim Rendern werden die 3D- und 2D-Assets aus Ihrer Unity-Szene auf dem Bildschirm dargestellt. Die Unity-Engine übernimmt das Rendern, aber es gibt einige Faktoren, die für die Android-Plattform wichtig sind.

Texturen

Entscheiden Sie anhand Ihrer Zielgeräte, ob Sie die größten Texturgrößen benötigen. Wenn Sie die Speicherzuweisung analysieren, sehen Sie, wie viel Speicher Sie potenziell sparen können, wenn Sie die Größe der Zieltextur ändern.

Frame Time

Um eine Überhitzung von Android-Geräten zu vermeiden, sollten Sie durchschnittliche Frame-Zeitwerte von unter 21 Millisekunden anstreben. Manchmal, z. B. beim Laden oder bei kurzen Filmsequenzen, können die Frame-Zeiten 21 Millisekunden überschreiten. Für das eigentliche Gameplay sollten sie jedoch unter diesem Grenzwert bleiben.

Auf mobilen Plattformen wird die Framerate durch erzwungenes VSync gedrosselt, wenn du das Mindestziel nicht erreichst. Wenn du beispielsweise auf einem 60‑Hz-Bildschirm nicht 60 fps erreichst, wird dein Spiel auf 30 fps gedrosselt. Wenn du nicht 30 fps erreichst, wird es auf 15 fps gedrosselt.

Viele Android-Geräte werden mit Aktualisierungsraten von 60 Hz und 120 Hz ausgeliefert. Wägen Sie die Vorteile von viel kürzeren Frame-Zeiten (10 ms bei 60 Hz und 5 ms bei 120 Hz) ab, ohne das Risiko von thermischer Drosselung und Akkuentladung bei höheren Rendering-Raten einzugehen.

Wenn Sie in Ihrem Spiel in Unity eine bestimmte Framerate festlegen möchten, verwenden Sie Application.targetFrameRate.

Die Android-Bibliothek Frame Pacing hilft Ihnen, Inhalte flüssig zu rendern, wenn Ihre Anwendung länger für die Darstellung des nächsten Frames benötigt, als die Aktualisierungsrate des Displays erfordert. In Unity-Versionen ab 2021 wird durch Aktivieren von Android Frame Pacing die Aktualisierungsrate des Displays auf die bestmögliche Übereinstimmung mit der Ziel-Framerate festgelegt. So wird verhindert, dass das Spiel unnötig Akku durch unnötige Displayaktualisierungen verbraucht.

Aktivieren Sie die Bibliothek unter Projekteinstellungen > Player unter Einstellungen für Android, indem Sie das Kästchen Optimized Frame Pacing (Optimierte Frame-Abstimmung) aktivieren.

Dialogfeld mit „Projekteinstellungen“ > „Playereinstellungen“ > „Optimierte Frame-Pacing-Funktion“
Abbildung 1: Optimized Frame Pacing ist in Unity 2019.2 und höher unter Player Settings verfügbar.

Vulkan API

Vulkan ist eine plattformübergreifende, leistungsstarke 3D-Grafik-API, die im Vergleich zu OpenGL ES einen geringen Aufwand erfordert. Unity kann Vulkan auf zwei verschiedene Arten verwenden.

Auto Graphics API

Sie können die Auto Graphics API mit Vulkan verwenden. Das Verhalten kann jedoch je nach installierter Unity-Version variieren. Sie können diese Option unter Projekteinstellungen > Player > Rendering auswählen.

Beachten Sie bei der Auswahl der Unity-Version Folgendes:

  • Unity 2021.1 und frühere Versionen unterstützen Vulkan nicht mit der Auto Graphics API. Unity versucht, OpenGL ES 3.2 zu verwenden. Wenn das Gerät OpenGL ES 3.2 nicht unterstützt, greift Unity in dieser Reihenfolge auf OpenGL ES 3.1, 3.0 oder 2.0 zurück.
  • In Unity 2021.2 und höher wird zuerst Vulkan verwendet. Wenn das Gerät Vulkan nicht unterstützt, greift Unity auf OpenGL ES 3.2, 3.1, 3.0 oder 2.0 zurück.
„Project Settings“ > „Player Settings“ > „Rendering“ > „Auto Graphics API“
Abbildung 2. Einstellung für die Auto Graphics API

APIs für manuelle Grafiken

Alternativ können Sie Vulkan manuell aktivieren, indem Sie die automatische Grafiken-API deaktivieren. Wenn Sie Unity 2021.1 oder eine frühere Version verwenden, ist dies die einzige Möglichkeit, Vulkan zu nutzen.

Wenn Vulkan in dieser Liste höher als OpenGL ES steht, versucht Unity zuerst, Vulkan zu verwenden. Wenn das Gerät Vulkan nicht unterstützt, wird Unity mit OpenGL ES ausgeführt. Weitere Informationen zu Vulkan auf Android, z. B. zur Verwendung moderner Grafik-APIs und zur Optimierung der Leistung Ihres Spiels

„Project Settings“ (Projekteinstellungen) > „Player Settings“ (Playereinstellungen) > „Rendering“ (Rendern) > „Graphics APIs“ (Grafik-APIs)
Abbildung 3. Grafik-APIs manuell festlegen, wenn „Auto Graphics API“ deaktiviert ist. Vulkan ist die erste Option. Unity greift auf OpenGL ES 3.0 zurück.

Zeichenbefehle

Alles, was auf dem Bildschirm angezeigt wird, ist mit einem oder mehreren Zeichenaufrufen verknüpft. Auf mobilen Plattformen sollten Sie die Anzahl der Draw-Aufrufe, die Sie an die GPU (Graphics Processing Unit) senden, optimieren und reduzieren.

Stellen Sie sich Draw Calls wie Autos vor, die an einer Ampel stehen. Nachdem die Ampel auf Grün geschaltet hat, können eine bestimmte Anzahl von Autos passieren, bevor die Ampel wieder umschaltet. Wenn das Licht gelb wird, hast du die ideale Ziel-Frame-Zeit (21 Millisekunden) erreicht. Wenn das Licht rot wird, hast du das Frame-Zeitlimit von 33 Millisekunden überschritten. Alles, was darüber hinausgeht, wirkt sich auf den nächsten Render-Frame aus. Die resultierende Framerate ist also niedriger als die angestrebten 30 fps.

Informationen dazu, wie Sie die Leistung von Draw Calls in Ihrem Spiel verbessern können, finden Sie im Batching-Artikel des Unity-Supports.

Schatten

Draw Calls für Schattenwurf können die GPU am stärksten belasten und selbst in einfachen Umgebungen den größten Teil der GPU-Zeit in Anspruch nehmen. Um die Kosten für Schattenwurf-Draw-Calls zu senken, können Sie statt weicher Schatten harte Schatten verwenden. Wenn das auf der GPU für Low-End-Geräte immer noch zu teuer ist, sollten Sie Blob-Schatten anstelle von harten Schatten verwenden.

Struktur

Das empfohlene Texturkomprimierungsformat für RGB- und RGBA-Texturen unter Android ist ASTC. In Unity ist ETC2 die minimale Option für die Texturkomprimierung, die Sie unter Android verwenden sollten. Sie können in den Unity-Build-Einstellungen ETC2 als Backup für ASTC festlegen.

Eine vollständige Liste der unterstützten Formate nach Plattform finden Sie in der Unity-Dokumentation unter Manual: Recommended, default, and supported texture formats, by platform.

Benutzeroberfläche und Seitenverhältnisse

Mit dem Unity-Tool Device Simulator können Sie verschiedene Bildschirmauflösungen, Ausrichtungen und Seitenverhältnisse von Geräten direkt im Unity-Editor in der Vorschau ansehen. Sie können zwischen der Spielansicht und der Geräte-Simulatoransicht wechseln.

Eine Vorschau des Tools finden Sie unter Simulate your Game with Device Simulator in Unity!.

Abbildung 4: Gerätesimulator mit Trivial Kart

Den Quellcode für Trivial Kart finden Sie im Repository games-samples auf GitHub.

Sie können das Layout und die Richtigkeit der UI-Canvas-Elemente in der Geräte-Simulatoransicht schnell überprüfen, indem Sie Geräteoptionen im Drop-down-Menü auswählen:

„Projekteinstellungen“ > „Playereinstellungen“ > „Optimized Frame Pacing“ (Optimierte Frame-Abstimmung)
Abbildung 5. Im Gerätesimulator können Sie Geräte im Editor ändern, um Designprobleme frühzeitig zu erkennen.
„Projekteinstellungen“ > „Playereinstellungen“ > „Optimierte Frame-Pacing-Funktion“
Abbildung 6: Aktivieren Sie Enable Pre-release Packages (Vorabversionen aktivieren), bevor Sie das Device Simulator-Paket herunterladen.

Weitere Techniken zur UI-Optimierung für Unity finden Sie in diesem Tutorial von Unity: Optimizing Unity UI.

Physik

Die Nvidia PhysX-Engine ist in Unity integriert. Die Standardeinstellungen können auf Mobilgeräten teuer sein. Beachten Sie daher Folgendes:

  • Berücksichtige deine Ziel-Framerate und lege den festen Zeitschritt entsprechend fest. Der Standardwert ist 0,02 ms oder 50 Hz. Sie können ihn auf 0,03 oder höher erhöhen, wenn Sie 30 FPS anstreben.
  • Vereinfachen Sie Mesh-Collider und minimieren Sie die Layer-Kollisionsmatrix, um Interaktionen zwischen Spielobjekten bestimmter Layertypen zu ermitteln.

Informationen zu Physikeinstellungen und Optimierungen für mobile Spiele finden Sie im eBook „Optimize Your Mobile Games“ von Unity.

Profil

App-Entwickler übersehen oder ignorieren das Profiling oft, bis die Anwendung einen kritischen Fehlerpunkt erreicht. Es empfiehlt sich, in Ihren Prozess eine bestimmte Zeit für das Profiling einzuplanen und die folgenden Best Practices zu berücksichtigen:

  • Legen Sie während der Entwicklung wichtige Punkte fest, an denen Sie Zeit für das Profiling einplanen können, anstatt es zufällig einzufügen.
  • Profil-Snapshots speichern, um sie mit dem Unity Profile Analyzer zu verwenden.
  • Profilieren Sie Ihr Spiel auf Zielgeräten, um ein genaues Bild davon zu erhalten, wie es im aktuellen Entwicklungsstadium funktioniert.
  • Verschiedene Teile Ihres Spiels profilieren
  • Profile erstellen, wie Ihre Spieler das Spiel spielen (Profilieren Sie Ihr Spiel nicht nur, wenn es sich im Leerlauf oder auf einem Pausenbildschirm befindet.)
  • Erstellen Sie ein Profil im Dauerbetriebsmodus, nachdem das Spiel eine Weile gelaufen ist, um Drosselungsprobleme zu finden, die auftreten können, wenn die Mobilgeräte heiß sind.

Sie können die folgenden Profiler-Tools einzeln oder in Kombination verwenden.

  • Unity Profiler: Der Unity Profiler ist ein vollständig integriertes Tool zur Leistungsanalyse, das für Ihren Code im Unity-Editor ausgeführt werden kann und eine Verbindung zu Ihrem eigenständigen Android-Gerät herstellen kann, auf dem Builds im Entwicklermodus ausgeführt werden.

  • Android GPU Inspector: Mit dem Android GPU Inspector (AGI) können Sie das Debugging auf Frame-Ebene durchführen. AGI analysiert auch die Systemdienste, einschließlich GPU, CPU, Arbeitsspeicher, Akku und GPU-Zählern.

Weitere Informationen zum Profiling Ihres Spiels in Unity finden Sie im Video Introduction to profiling in Unity oder im Ultimate guide to profiling Unity games von Unity.

Speicherverwaltung

Android-Prozesse teilen sich den verfügbaren Arbeitsspeicher auf dem Zielgerät. Sie sollten die Speichernutzung nur dann analysieren, wenn auf dem Zieltestgerät ausreichend kostenlose Speicherressourcen vorhanden sind. Führen Sie Speichertests an einem konsistenten Punkt in Ihrem Spiel durch, damit Sie Sitzungen und Trends bei der Arbeitsspeichernutzung richtig vergleichen können.

Seien Sie vorsichtig, wenn Sie in C#-Skripts mit Strings, Stringvergleichen und Zuweisungen von String-bezogenen Objekten (z. B. JSON-Dateien für Spieleinstellungen) arbeiten. Diese führen zu häufigen Speicherzuweisungen und können zur Fragmentierung beitragen.

Verwenden Sie für lange Sequenzen von String-Manipulationen die Klasse StringBuilder anstelle der direkten Verkettung von Strings (z. B. „this“ + „is“ + „a“ + „bad“ + „idea“ im Vergleich zu StringBuilder.Concat()-Funktionsaufrufen).

Weitere Informationen zu Strings finden Sie in der Unity-Dokumentation unter Strings and text.

TextAsset- und JSON-Textressourcen werden anhand des bevorzugten Typs ScriptableObject ausgewertet. ScriptableObjects – Szenenübergreifende Datenspeicherung effizient verarbeiten und Änderungen zwischen Editor und Playtime ermöglichen.

Im Artikel The hidden optimization in network games auf Hutch wird die Verwendung von Alternativen zum Standard-JSON-Handle für die mobile Optimierung erläutert.

Mit der Memory Advice API können Sie die Speichernutzung zur Laufzeit ermitteln. Die API bietet eine Ampelanzeige für hohe, normale und niedrige Speichernutzung. Sie können den Indikator abonnieren, um Updates zu erhalten, oder ihn direkt nach dem aktuellen Status abfragen. Wenn Sie ein rotes Signal erhalten, sollten Sie den Pool oder Cache Ihrer Spielobjekte verkleinern. Berücksichtigen Sie diesen Kontext in Ihrer Spieltelemetrie während des Live-Betriebs und bei der Überprüfung der Leistungsmesswerte nach dem Launch.

Weitere Informationen zur Speicherorganisation auf Android-Geräten und zur Funktionsweise von Unity finden Sie im Video Understanding Android memory usage (from Google I/O '18). Im Video werden die verschiedenen Arten von Speicherproblemen und der Zeitpunkt, zu dem der Low-Memory-Killer aktiv wird, erläutert.

Automatische Speicherbereinigung

Bei der automatischen Speicherbereinigung in einer Umgebung mit verwaltetem Arbeitsspeicher werden nicht verwendete Arbeitsspeicherfragmente bereinigt, die für eine Anwendung wiederverwendet werden können. Halten Sie sich an die Best Practices für die Garbage Collection, um unnötige Zuweisungen von Speicherressourcen zu vermeiden.

Erstellen Sie beispielsweise einen Game-Objektpool anstatt On-Demand-Zuweisungen (GameObject.Instantiate) zu verwenden. Bei großen Pools sollten Sie die Zuweisung über mehrere Frames hinweg vornehmen, um das Risiko zu verringern, dass Ihr Spiel auf Android-Einsteigergeräten nicht reagiert.

Betrachten Sie das folgende Code-Snippet für eine einfache Coroutine, die am Anfang eines MonoBehaviour aufgerufen wird:

// Option 1: Bad for memory management - causes allocation each iteration
IEnumerator UpdateEnemyTarget() {
  while (enabled) {
    yield return new WaitForSeconds(1.0f);
    // Some intermittent function check
  }
}

// Option 2: Better for memory management - allocation of yield instruction once, reused each iteration
private YieldInstruction waitForSecond = new WaitForSeconds(1.0f);
IEnumerator BetterUpdateEnemyTarget() {
  while (enabled) {
    yield return waitForSecond;
    // Some other intermittent function
  }
}

Sie können die MonoBehaviour-Vorlagendatei bearbeiten, um die Standard-Stub-Funktionen Start() und Update() zu entfernen, damit Sie beim Entwickeln nicht versehentlich leere Funktionen hinterlassen.

Eine Übersicht über die Reihenfolge der Ausführung von MonoBehaviour-Ereignissen finden Sie in der Unity-Dokumentation unter Order of execution for event functions. Weitere Informationen zur Speicherverwaltung finden Sie im Kurs Memory Management in Unity.

Tipps zur Leistungsoptimierung von Spielen für Mobilgeräte finden Sie unter Optimize your mobile game performance: Tips on profiling, memory, and code architecture from Unity's top engineers.

Prefab-Pooling

Spitzen bei der CPU-Frame-Zeit werden fast ausschließlich durch die Instanziierung von Prefabs während des Spiels verursacht. Erwägen Sie, Objektpools für Projektile, spawnfähige Gegner und visuelle Effekte vor dem Start des Spiels vorzuwärmen, um CPU-Spitzen beim Start zu reduzieren oder zu vermeiden. Sie können zusätzliche Optimierungen auf mehrere „Initialisierungs-Frames“ während des Ladens oder der Einführungssequenzen in Ihrer Szene verteilen.

Im Unity Asset Store findest du viele Pooling-Assets von Drittanbietern, die sich auf die Verwaltung von Game-Object-Pools beziehen. Du kannst aber auch eigene Interaktionen erstellen. Weitere Informationen finden Sie unter Introduction to Object Pooling on Unity Learn.

Asset-Bereitstellung

Es gibt Beschränkungen für die Größe Ihrer Anwendung, wenn sie zum ersten Mal bei Google Play bereitgestellt wird. Je nach Größe und Art Ihres Spiels benötigen Sie möglicherweise einige oder alle Spielressourcen (Charaktermodelle, Umgebungen, UI-Elemente usw.), damit Spieler die von Ihnen beabsichtigte Erfahrung machen können.

Mit dem Dienst Play Asset Delivery (PAD) können Sie Assets verwalten, die für Ihr Spiel bei der Installation, im Fast-Follow-Modus oder auf Abruf erforderlich sind. Unity-Asset-Bundles sind integriert, um PAD zu unterstützen. Sie können mit dem Tool angeben, welche Elemente ausgeliefert werden.

Addressables

Das Einrichten dynamischer Ressourcen wie Prefabs, Texturen und Sounddateien zur Laufzeit ist nicht mehr komplex, wenn Sie das Addressables-Benennungssystem vorbereiten und überprüfen. Mit adressierbaren Assets wird die Anordnung Ihrer Inhalte von der Art und Weise entkoppelt, wie Sie Ihre Inhalte erstellen und laden. Das Addressables-System ersetzt Resources-Ordner und AssetBundles, um das Referenzieren und Laden von Assets zur Laufzeit zu vereinfachen.

Ein Beispiel finden Sie im Demoprojekt mit dem Addressables-Paket auf GitHub. Weitere Informationen zur Entwicklung von Addressables finden Sie im Addressable Asset System im Unity-Blog.

Beim Addressable Asset-Layout gibt es Vor- und Nachteile, wenn zu wenige oder zu viele Assets in gemeinsamen Bundles zusammengefasst werden. Weitere Informationen zum Content-Management mit Addressables

Sie können eine eigenständige Demo einrichten und mit den Zugriffsmodi experimentieren, um sich mit dem Addressables-System vertraut zu machen. Sie können sich auch das Open-Source-Projekt BuildLayout Explorer für Unity 2019.3 und höher ansehen und den von Addressables generierten buildlayout.txt-Bericht prüfen.

Die Assets für Chop Chop, ein Unity Open Project, wurden mit dem Addressables-System für das gesamte Laden und Entladen verpackt. Unter Packaging content with Addressable Assets | Open Projects Devlog finden Sie eine Anleitung zur Struktur und Einrichtung der Konfiguration der Addressables-Bundles.

Im Chop Chop-Projekt, der einzigen Szene, die standardmäßig geladen wird, wurde die Initialisierungsszene so konfiguriert, dass AssetReferences anstelle von direkten Links zu Assets im Projekt (Szenen, Prefabs usw.) verwendet wird.

Der Quellcode für das Unity Open Project: Chop Chop ist auf GitHub verfügbar. Das Projekt wird zwar nicht mehr weiterentwickelt, das Git-Repository und die Dokumentation sind aber weiterhin verfügbar.

Drittanbieter-Plug-ins

Wenn Sie Drittanbieter-Plug-ins verwenden, z. B. aus dem Unity Asset Store, sollten Sie die Ordner prüfen und unnötige Assets aus Resources-Ordnern entfernen. Während des Build-Prozesses sammelt Unity alle Assets, die in Resources-Ordnern enthalten sind, und packt sie in ein einzelnes Bundle, auf das zur Laufzeit zugegriffen werden kann. Dadurch kann das endgültige Paket unnötig groß werden.

Wenn Sie schnell alle Ressourcenordner finden möchten, suchen Sie im Bereich Projekt nach Ressourcen. Sie können dann die einzelnen Elemente auswählen, um herauszufinden, was sie enthalten und ob sie für Ihr Spiel erforderlich sind.

Abbildung 7. In den aus dem Unity Asset Store heruntergeladenen Ordnern befinden sich möglicherweise mehrere Resources-Ordner. Bereinigen Sie diese, damit sie nicht in Ihrem App-Bundle enthalten sind.

Veröffentlichen und verwalten

Wenn Sie Ihr Spiel für Mobilgeräte veröffentlichen möchten, müssen Sie entscheiden, für wen Sie es veröffentlichen möchten, wie Sie Alpha- und Betatests durchführen und wie Sie die Leistung nach der Veröffentlichung überwachen und verfolgen.

Feedback aus einem eingeschränkten Release analysieren

Sie können Ihr Spiel für eine begrenzte Zielgruppe einführen und Betatests in größerem Umfang durchführen oder es für die vollständige Verfügbarkeit in allen Märkten aktivieren. Mit einem eingeschränkten Release können Sie die Leistung Ihrer Anwendung auf Grundlage einer größeren Live-Zielgruppe und einer größeren Anzahl von Geräten optimieren.

Sie können beispielsweise den Android Performance Tuner für Unity und Google Analytics für Unity verwenden, um Statistiken zur Leistung Ihrer Anwendung und zu Trends bei Spielern zu erhalten. Anhand dieser Statistiken kann Ihr Entwicklungsteam Updates vornehmen und veröffentlichen. Sie können Ihre Analysedaten auch verwenden, um Fortsetzungen oder ähnliche Spiele in einem ähnlichen Genre zu planen.

Alpha- und Betatest

Nachdem Sie Ihr Anwendungsprofil in der Google Play Console eingerichtet haben, können Sie öffentliche Alpha- und Betatest-Builds vorbereiten und sie zur Überprüfung vor dem Launch an eine begrenzte Zielgruppe verteilen. Wenn Sie die App für eine begrenzte Zielgruppe veröffentlichen, können Sie letzte Probleme mit einer größeren Anzahl von Geräten beheben und erstes Feedback sammeln, auf das Sie reagieren können, bevor Sie die App weltweit veröffentlichen.

Ihre Unity-Builds werden über Android App Bundles verteilt. Weitere Informationen finden Sie im Unity-Handbuch: Bereitstellung für Google Play. Dort werden auch die Änderungen von APK-Dateien zum AAB-Format beschrieben.

Überwachen und verfolgen

Während der Live-Betriebs- und Vertriebsphase Ihres Spiels können Sie Android Vitals verwenden, um Leistungsprobleme auf Geräten zu ermitteln, auf die Sie während der Entwicklung und des Tests möglicherweise keinen Zugriff hatten. Weitere Informationen finden Sie im Video What's new for games in Reach and devices and Android vitals.

Größere Entwicklungsteams haben oft eigene benutzerdefinierte Pipelines für die Spieltelemetrie, die Messwerte zur Geräteleistung liefern. Denken Sie daran, den Android Performance Tuner (APT) und das entsprechende Unity-Plug-in zu nutzen, um Messwerte für Frameraten, grafische Wiedergabe, Ladezeit und abgebrochene Ladevorgänge zu optimieren. Folgen Sie der Schritt-für-Schritt-Anleitung unter Android Performance Tuner in Unity-Spiele einbinden.

Der Lebenszyklus deines Spiels endet nicht mit der Veröffentlichung. Die Leistung und das Feedback im Blick zu behalten, zu pflegen und darauf zu reagieren, ist entscheidend für zufriedene Nutzer, positive Rezensionen und die letztendliche Akzeptanz Ihres Spiels auf allen Märkten.