Communitygithub.com

unity-technologies/build-live-game

Erstellen und Betreiben Sie ein Live-Spiel mit Unity Services. Verwenden Sie dies, wenn der Benutzer backend-gesteuerte Funktionen implementieren, verbinden oder debuggen muss – Battle Passes, Erfolge, Spielerfortschritt, Cloud-Speicher, Bestenlisten, Matchmaking, virtuelle Wirtschaft, server-autoritative Logik, Anti-Cheat, Spielerkonten und Authentifizierung, Remote-Konfiguration, Feature-Flags, A/B-Tests, Analysen oder die Bereitstellung von Cloud-Ressourcen.

Was ist build-live-game?

Dieses Skillpaket bietet eine umfassende Referenz und Anleitungen zur Integration von Unity Gaming Services (UGS) in ein Live-Spiel. Es behandelt die gesamte Palette der Backend-Funktionen, die für moderne Live-Service-Spiele benötigt werden, darunter Spielerauthentifizierung, Cloud-Speicher, Remote-Konfiguration, server-autoritative C#-Module (Cloud Code), virtuelle Ökonomien, Bestenlisten, Multiplayer-Sessions und Analysen. Der Skill ist für Entwickler konzipiert, die mit Unity-Editoren und C#-Code arbeiten, und unterstützt die wichtigsten UGS-Pakete wie `com.unity.services.core`, `com.unity.services.authentication`, `com.unity.services.cloudcode` und `com.unity.services.cloudsave`. Er beschreibt bewährte Architekturmuster, wie Daten über Cloud Code geschrieben werden sollten, um die Spielintegrität zu gewährleisten, und bietet eine initialisierungsbasierte Einrichtung mit `UnityServices.InitializeAsync()`. Das Skill-Markdown enthält eine Paketübersicht, eine Architekturübersicht, Schnellreferenzen zu den Kernservices, eine Liste von vorgefertigten Bausteinen aus dem Asset Store und eine Bereitstellungs-Checkliste. Es ist besonders nützlich für Live-Ops-Teams, die schnelle Implementierungen und Debugging von Service-Integrationen benötigen, da es klare Codebeispiele und Links zu detaillierten Referenzhandbüchern enthält.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/unity-technologies/skills/tree/main/skills/build-live-game

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Ein Live-Spiel mit Unity Gaming Services erstellen

UGS-Pakete

PaketMinimale VersionZweck
com.unity.services.core1.16.0Initialisierung, Abhängigkeitsgraph
com.unity.services.authentication3.6.1Spieler-Anmeldung und Identität
com.unity.services.cloudcode2.10.3Server-autorisierte C#-Module
com.unity.services.cloudsave3.4.0Pro Spieler und gemeinsame Schlüssel-Wert-Speicherung
com.unity.remote-config4.2.5Serverseitige Spielkonfiguration
com.unity.services.deployment1.7.2Cloud-Ressourcen aus dem Editor bereitstellen
com.unity.services.tooling1.4.1Zugriffskontrolle und Spiel-Überschreibungen
com.unity.services.apis1.1.1Generierte REST-Clients für alle UGS-Dienste

Initialisierungsmuster

Jedes UGS-Spiel beginnt auf die gleiche Weise. com.unity.services.core muss zuerst initialisiert werden, dann meldet sich der Spieler an:

using Unity.Services.Core;
using Unity.Services.Authentication;

await UnityServices.InitializeAsync();
await AuthenticationService.Instance.SignInAnonymouslyAsync();
// Alle anderen Dienste sind jetzt bereit

Nachdem InitializeAsync() abgeschlossen ist, stehen die Dienst-Singletons (z. B. CloudSaveService.Instance, CloudCodeService.Instance) zur Verfügung.

Paketübersicht

Grundlagen

PaketZweckSingleton / Einstiegspunkt
CoreInitialisierung, Abhängigkeitsgraph, KomponentenregisterUnityServices.InitializeAsync()
AuthenticationSpieler-Anmeldung (anonym, sozial, Unity, Benutzername/Passwort), IdentitätAuthenticationService.Instance
Services APIsGenerierte REST-Clients für alle UGS-Dienste; Admin-API-Zugriff über DienstkontenDirekte API-Klassen

Spielerdaten und Konfiguration

PaketZweckSingleton / Einstiegspunkt
Cloud SavePro Spieler Schlüssel-Wert-Daten (Standard, Öffentlich, Geschützt) und spielweite benutzerdefinierte DatenCloudSaveService.Instance.Data.Player / .Data.Custom
Remote ConfigServerseitige Spielkonfiguration, Feature-Flags, JSON-DefinitionenRemoteConfigService.Instance
EconomyVirtuelle Währungen, Inventargegenstände, Käufe, GeschäfteEconomyService.Instance

Serverlogik und Sicherheit

PaketZweckSingleton / Einstiegspunkt
Cloud CodeServer-autorisierte C#-Module für vertrauenswürdige Schreibvorgänge und ValidierungCloudCodeService.Instance → CallModuleEndpointAsync
ToolingErstellen und Bereitstellen von Zugriffskontroll- (.ac) und Spiel-Überschreibungsdateien (.ugo)Nur Editor (Bereitstellungsfenster)
DeploymentCloud-Ressourcen (.rc, .ac, .ccmr, .lb usw.) aus dem Unity-Editor bereitstellenNur Editor (Dienste > Bereitstellung)

Soziale und wettbewerbsorientierte Funktionen

PaketZweckSingleton / Einstiegspunkt
MultiplayerSitzungen, Matchmaking, Lobbys. Bausteine: Multiplayer-Sitzung, Matchmaker-Sitzung, Server-SitzungMultiplayerService.Instance
LeaderboardsPunkteeinreichung, Ranglisten, Stufen, Versionsverlauf. Baustein: BestenlistenLeaderboardsService.Instance

Telemetrie

PaketZweckSingleton / Einstiegspunkt
AnalyticsBenutzerdefinierte Ereignisse, Standardereignisse, EinwilligungsverwaltungAnalyticsService.Instance

Architektur – Wie Pakete kombiniert werden

                    UnityServices.InitializeAsync()
                              │
                              ▼
                     AuthenticationService
                    (Anmelden → PlayerId)
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
        Remote Config     Cloud Save      Economy
      (Spielkonfig.,   (Spielerzustand,  (Währungen,
       Definitionen,    Fortschritt,      Inventar,
       Feature-Flags)   Einstellungen)    Käufe)
              │               │               │
              └───────┬───────┘               │
                      ▼                       │
                 Cloud Code                   │
              (server-autorisierte            │
               Schreibvorgänge,      ◄────────┘
               Validierung,
               Anti-Cheat-Logik)
                      │
              ┌───────┼───────┐
              ▼       ▼       ▼
         Cloud Save  Economy  Bestenlisten
         (Geschützte (Server-  (Punktestand-
          Schreibv.)  vergabe)  einreichung)

Wichtiges Prinzip: Für alle Daten, die die Spielintegrität beeinflussen (EP, Belohnungen, Währung), leiten Sie Schreibvorgänge über Cloud-Code-Module. Direkte Client-Schreibvorgänge sind nur für nicht sensible Daten (Einstellungen, Anzeigeeinstellungen) geeignet.

Kerndienste – Kurzreferenz

Authentifizierung

Paket: com.unity.services.authentication (>= 3.6.1)

Verwaltet die Spieleridentität. Anmeldemethoden: anonym, soziale Anbieter (Google, Apple, Steam, Facebook, Oculus usw.), Unity-Browser, Benutzername/Passwort und Gerätecode-Flow.

Nach der Anmeldung: PlayerId und PlayerName sind verfügbar. Alle Anmeldemethoden lösen das SignedIn-Ereignis aus. PlayerAccountService (für die Unity-Browser-Anmeldung) befindet sich in einer separaten Assembly (Unity.Services.Authentication.PlayerAccounts).

Cloud Code

Paket: com.unity.services.cloudcode (>= 2.10.3)

Führt serverseitige C#-Module (.NET 9) für vertrauenswürdige Vorgänge aus. Module werden als .ccmr-Dateien bereitgestellt. Der Client ruft auf:

var result = await CloudCodeService.Instance.CallModuleEndpointAsync<TResult>(
    "Modulname", "Funktionsname", args);

Bevorzugen Sie C#-Module gegenüber JavaScript-Skripten für die Produktion. Module unterstützen auch Echtzeit-Push-Nachrichten über Abonnements, ereignisgesteuerte Auslöser und die Bereichsbegrenzung von Multiplayer-Sitzungen.

Cloud Save

Paket: com.unity.services.cloudsave (>= 3.4.0)

Pro Spieler Schlüssel-Wert-Speicher mit drei Zugriffsklassen sowie spielweiten benutzerdefinierten Daten:

ZugriffsklasseLesenSchreibenAnwendungsfall
StandardBesitzerBesitzerPrivate Einstellungen, Präferenzen
ÖffentlichJederBesitzerÖffentliche Profile, Anzeigenamen
GeschütztBesitzerNur Server (Cloud Code)Anti-Cheat-Daten, serververgebener Zustand
BenutzerdefiniertJeder SpielerNur ServerGemeinsamer Spielzustand, globale Konfigurationen

Werte werden als JSON serialisiert. Unterstützt Schreibsperre nebenläufigkeitskontrolle über SaveItem, serverseitige Abfragen über QueryAsync und binäre Dateispeicherung.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

unity-technologies/2d-pixel-perfect

Sets up, diagnoses, and fixes pixel perfect 2D rendering in Unity projects. Use when working on any retro-style or pixel art 2D game.

unity-technologies/audio-setup-mixers

Scans the scene and audio assets to appropriately route Audio Sources into existing Audio Mixer Groups, classifying each source by what it plays. Use when the user asks about cleaning up mixer assignments, routing audio through a mixer, or which group a sound belongs in. Creating mixers and groups, and setting volumes, are not automated — the skill inventories what exists and asks the user to add anything missing.

unity-technologies/generate-editor-search-query

Generates Unity Search / Quick Search queries and opens the Unity Search window for read-only Unity Editor asset or scene-object lookup requests. Always use when the user asks to find, search, show, locate, filter, look up, query, or list concrete assets or scene objects in the current project or scene, even if Unity Search is not named. Covers materials, textures, prefabs, scenes, scripts, shaders, GameObjects, components, Lights, Cameras, UI objects, labels, paths, references, selected or named assets, and asset types. Also use when the user explicitly mentions Unity Search, Quick Search, Search window, open Search, or asks what Unity Search query to use. Do not use for general project overview, project structure, folder-purpose summaries, gameplay/system explanations, how-to programming questions, web search, repository text search, build logs, package installation, menu or settings search, modifying results, or non-Unity filesystem search unless the user explicitly asks to use Unity Search.

unity-technologies/implement-in-app-purchases

Implement, configure, and debug Unity In-App Purchases (IAP) — store connection, product catalog, consumable/non-consumable/subscription purchases, two-step pending-confirm flow, receipt validation, entitlement checking, restore transactions, Apple extensions (promotional purchases, Ask-to-Buy, code redemption), and Google Play extensions (subscription upgrade/downgrade), D2C Capabilities(direct to customer), 3rd party payment provider (Stripe/Coda) via Unity IAP/Unity Cloud. Use when the user needs to add, modify, debug, or migrate from native Android/iOS billing, 3rd party packages(RevenueCat/Adapty/Essential Kit/Unipay supported) to IAP. Triggers on microtransactions (MTX), monetization, real-money purchases, store purchases, buying items, support D2C, purchase via Stripe/Coda, migrate from native billing(Google's BillingClient or Apple's StoreKit/SKPaymentQueue/SKProduct)/RevenueCat/Adapty/EssentialKit/Unipay.

unity-technologies/initialize-ai-navigation

Sets up and configures the Unity AI Navigation system — NavMesh surfaces, NavMesh agents, obstacles, links, modifiers, areas and costs. Use when creating walkable navigation meshes, adding pathfinding agents, setting up patrol routes, configuring obstacle avoidance and carving, connecting separate NavMeshes with links, coupling navigation with animation, or troubleshooting navigation issues.

unity-technologies/levelplay-unity-integration

Integrates the LevelPlay Mediation SDK via the Ads Mediation UPM package. Use when a developer asks about adding ads to a Unity game, implementing rewarded, interstitial, or banner ads, setting up ad mediation, configuring ad networks, installing or updating the Ads Mediation package, troubleshooting LevelPlay namespace errors, resolving Android gradle or iOS CocoaPods dependency issues for ads, configuring ATT or privacy settings for ad compliance, tracking impression-level revenue (ILRD), initializing the LevelPlay SDK, or setting up ad unit IDs. Also use when a developer wants to monetize their Unity game with ads, asks how to get started with LevelPlay, ads, or mediation, or needs help with any part of the LevelPlay integration workflow including platform-specific setup for iOS or Android. Also use when upgrading the LevelPlay or IronSource SDK version, migrating from deprecated IronSource.Agent APIs, or migrating a game from Unity Ads to LevelPlay.

unity-technologies/localization

Sets up and configures Unity Localization, including locales, String/Asset Tables, CJK font support, and Addressables workflows. Use when the user wants to add languages to a project, translate UI text, support Asian (CJK) languages with TMP fonts, or mentions i18n, l10n, multilingual support, or making a game support multiple languages.

unity-technologies/manage-sprite-atlas

Manage SpriteAtlas using prebuild pipeline with IPreprocessBuildWithReport (DEFAULT approach). Use it to configure master atlases, variant atlases, texture settings, packing settings, and platform-specific configurations. Use when the user asks about creating sprite atlases, optimizing sprites, configuring atlas settings, adding sprites to atlases, creating variant atlases, implementing automated atlas generation, or runtime sprite atlas access. Always use prebuild approach unless user explicitly requests manual authoring.

unity-technologies/migrate-birp-to-urp

Plans, executes, and troubleshoots Unity projects moving from the Built-in Render Pipeline (BiRP/BIRP/Built-in RP) to the Universal Render Pipeline (URP). Use when the user asks to upgrade, convert, switch, or migrate a project, scene, material, or shader to URP/Universal Render Pipeline; fix pink or magenta materials after URP; convert Built-in materials/shaders; move a 2D project to URP 2D; review lighting, quality, post-processing, baked lightmaps, or reflection probes after URP; or diagnose visual problems after a render-pipeline migration.

Verwandte Skills