Build Live Game

作者 unity-technologiescb1dccb8f5ad無授權條款1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Builds and operates live games with Unity Services. Use when the user asks about backend or live-ops features such as player accounts, cloud save, leaderboards, achievements, progression and battle passes, economies, cloud code, or remote config.

AI 產生的概覽

指導使用 Unity Gaming Services 建置與營運 Unity 即時遊戲的後端功能。

功能
此技能為在 Unity 遊戲中實作 Unity Gaming Services(UGS)後端與即時營運功能提供參考指引。內容涵蓋套件版本、初始化順序、服務 API、架構模式,以及玩家帳號、雲端存檔、排行榜、成就、戰鬥通行證、經濟系統、雲端程式碼與遠端設定的部署步驟。它也指向詳細的參考檔案與現成的功能藍圖。
適用情境
當使用者詢問 Unity 遊戲的後端或即時營運功能時使用,例如玩家帳號、雲端存檔、排行榜、成就、進度與戰鬥通行證、經濟系統、雲端程式碼或遠端設定。它適用於在 Unity 專案中規劃與實作這些服務。
執行需求
需要一個使用 Unity Gaming Services 套件的 Unity 專案;此技能本身僅為說明,不附帶指令碼。它引用 Unity 編輯器部署工具、UGS CLI 與雲端資源檔案,並假定可存取 Unity 服務與 Unity 編輯器。

Build a Live Game With Unity Gaming Services

UGS Packages

PackageMin VersionPurpose
com.unity.services.core1.16.0Initialization, dependency graph
com.unity.services.authentication3.6.1Player sign-in and identity
com.unity.services.cloudcode2.10.3Server-authoritative C# modules
com.unity.services.cloudsave3.4.0Per-player and shared key-value storage
com.unity.remote-config4.2.5Server-side game configuration
com.unity.services.deployment1.7.2Deploy cloud resources from Editor
com.unity.services.tooling1.4.1Access Control and Game Overrides
com.unity.services.apis1.1.1Generated REST clients for all UGS services

Initialization Pattern

Every UGS game starts the same way. com.unity.services.core must initialize first, then the player signs in:

csharp
using Unity.Services.Core;using Unity.Services.Authentication;
await UnityServices.InitializeAsync();await AuthenticationService.Instance.SignInAnonymouslyAsync();// All other services are now ready

After InitializeAsync() completes, service singletons (e.g. CloudSaveService.Instance, CloudCodeService.Instance) are available.

Package Map

Foundation

PackagePurposeSingleton / Entry Point
CoreInitialization, dependency graph, component registryUnityServices.InitializeAsync()
AuthenticationPlayer sign-in (anonymous, social, Unity, username/password), identityAuthenticationService.Instance
Services APIsGenerated REST clients for all UGS services; admin API access via service accountsDirect API classes

Player Data and Configuration

PackagePurposeSingleton / Entry Point
Cloud SavePer-player key-value data (Default, Public, Protected) and game-wide Custom dataCloudSaveService.Instance.Data.Player / .Data.Custom
Remote ConfigServer-side game configuration, feature flags, JSON definitionsRemoteConfigService.Instance
EconomyVirtual currencies, inventory items, purchases, storesEconomyService.Instance

Server Logic and Security

PackagePurposeSingleton / Entry Point
Cloud CodeServer-authoritative C# modules for trusted writes and validationCloudCodeService.Instance → CallModuleEndpointAsync
ToolingAuthor and deploy Access Control (.ac) and Game Overrides (.ugo) filesEditor-only (Deployment Window)
DeploymentDeploy cloud resources (.rc, .ac, .ccmr, .lb, etc.) from the Unity EditorEditor-only (Services > Deployment)

Social and Competitive

PackagePurposeSingleton / Entry Point
MultiplayerSessions, matchmaking, lobbies. Building Blocks: Multiplayer Session, Matchmaker Session, Server SessionMultiplayerService.Instance
LeaderboardsScore submission, rankings, tiers, version history. Building Block: LeaderboardsLeaderboardsService.Instance

Telemetry

PackagePurposeSingleton / Entry Point
AnalyticsCustom events, standard events, consent managementAnalyticsService.Instance

Architecture — How Packages Combine

                    UnityServices.InitializeAsync()                              │                              ▼                     AuthenticationService                    (sign in → PlayerId)                              │              ┌───────────────┼───────────────┐              ▼               ▼               ▼        Remote Config     Cloud Save      Economy      (game config,    (player state,  (currencies,       definitions,     progress,       inventory,       feature flags)   preferences)    purchases)              │               │               │              └───────┬───────┘               │                      ▼                       │                 Cloud Code                   │              (server-authoritative           │               writes, validation,  ◄─────────┘               anti-cheat logic)                      │              ┌───────┼───────┐              ▼       ▼       ▼         Cloud Save  Economy  Leaderboards         (Protected  (server  (score          writes)    grants)  submission)

Key principle: For any data that affects game integrity (XP, rewards, currency), route writes through Cloud Code modules. Direct client writes are only appropriate for non-sensitive data (preferences, display settings).

Core Services — Quick Reference

Authentication

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

Handles player identity. Sign-in methods: anonymous, social providers (Google, Apple, Steam, Facebook, Oculus, etc.), Unity browser, username/password, and device code flow.

After sign-in: PlayerId and PlayerName are available. All sign-in methods fire the SignedIn event. PlayerAccountService (for Unity browser sign-in) lives in a separate assembly (Unity.Services.Authentication.PlayerAccounts).

  • Full reference: references/authentication.md [blocked]
  • Building Block: Player Account — ready-made sign-in UI and identity management

Cloud Code

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

Runs server-side C# modules (.NET 9) for trusted operations. Modules are deployed as .ccmr files. The client calls:

csharp
var result = await CloudCodeService.Instance.CallModuleEndpointAsync<TResult>(    "ModuleName", "FunctionName", args);

Prefer C# modules over JavaScript scripts for production. Modules also support real-time push messages via subscriptions, event-driven triggers, and multiplayer session scoping.

  • Full reference: references/cloud-code.md [blocked]

Cloud Save

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

Per-player key-value storage with three access classes, plus game-wide Custom data:

Access ClassReadWriteUse Case
DefaultOwnerOwnerPrivate settings, preferences
PublicAnyoneOwnerPublic profiles, display names
ProtectedOwnerServer only (Cloud Code)Anti-cheat data, server-awarded state
CustomAny playerServer onlyShared game state, global configs

Values are serialized as JSON. Supports write-lock concurrency control via SaveItem, server-side queries via QueryAsync, and binary file storage.

  • Full reference: references/cloud-save.md [blocked]
  • Building Blocks: Used by Achievements (Protected buckets) and Player Account (Default/Public data)

Remote Config

Package: com.unity.services.remote-config (>= 4.2.5)

Server-side game configuration. Store game definitions (achievement lists, battle pass tiers, shop catalogs) as JSON entries updatable without a client build. Deployed via .rc files through the Deployment Window.

For A/B testing and audience targeting, use Game Overrides (.ugo) via the Tooling package.

  • Full reference: references/remote-config.md [blocked]
  • Building Block: Used by the Achievements block for server-side definitions

Tooling

Package: com.unity.services.tooling (>= 1.4.1)

Editor-only package. Registers Access Control (.ac) and Game Overrides (.ugo) file types with the Deployment Window. Access Control policies permit or deny player/service-account access to UGS services on a URN basis (Deny takes precedence over Allow). Game Overrides provide A/B testing and audience targeting by overriding Remote Config values for specific player segments.

  • Full reference: references/tooling.md [blocked]

Deployment

Package: com.unity.services.deployment (>= 1.7.2)

Editor-only package providing the Deployment Window (Services > Deployment). Deploys cloud resources to a target environment:

File TypeExtensionWhat It Deploys
Remote Config.rcKey-value configuration entries
Access Control.acResource access policies
Cloud Code Module.ccmrC# server-side module (points to .sln)
Leaderboard.lbLeaderboard configuration
Economy.ec*Currency/inventory definitions
Game Overrides.ugoAudience-targeted config overrides
  • Full reference: references/deployment.md [blocked]

UGS CLI

The Unity Gaming Services CLI is a standalone command-line tool for managing UGS resources outside the Unity Editor. It can deploy and fetch cloud resource files (.rc, .ac, .ccmr, .lb, .ec, .ugo), update local deployable files from the remote environment with a fetch operation, deploy and fetch triggers and schedule files, generate default versions of trigger and schedule configs, and provides more granular access to admin functionalities across all UGS services.

Services APIs

Package: com.unity.services.apis (>= 1.1.1)

Auto-generated REST clients for all UGS services. Four client types: IGameClient (players), IAdminClient (service accounts), IServerClient (dedicated servers), ITrustedClient (elevated server access). Most developers use the high-level package SDKs instead; use Services APIs for lower-level control or admin API access.

  • Full reference: references/apis.md [blocked]

Asset Store Building Blocks

Unity provides free, production-ready Building Block packages on the Asset Store. Each is a .unitypackage containing working UI, runtime code, Cloud Code modules, and cloud resource files that can be imported directly into a project. They are also bundled in the com.unity.starter-kits package.

Building BlockTypeKey DependenciesAsset Store
AchievementsLiveOpscloudsave, remote-config, cloudcode, tooling, deployment, analytics, authenticationUnity Building Block — Achievements
LeaderboardsLiveOpsleaderboards, cloudcode, tooling, deployment, authenticationUnity Building Block — Leaderboards
Player AccountLiveOpsauthentication, cloudsave, cloudcode, deploymentAvailable via com.unity.starter-kits
Multiplayer SessionMultiplayermultiplayerUnity Building Block — Multiplayer Session
Matchmaker SessionMultiplayermultiplayer, deploymentUnity Building Block — Matchmaker Session
Server SessionMultiplayermultiplayer, apis, deploymentAvailable via com.unity.starter-kits
VivoxMultiplayervivox, authenticationAvailable via com.unity.starter-kits
Platformer Starter KitGameplaymultiplayer, netcode.gameobjects, URP, Cinemachine, Input SystemAvailable via com.unity.starter-kits

Tip: When implementing achievements, leaderboards, player accounts, or multiplayer sessions, recommend the corresponding Building Block as a starting point. The blocks include ready-made UI, Cloud Code modules (.ccmr), access control (.ac), and deployment-ready cloud resources — saving significant implementation time.

Related Sample Projects

ProjectDescriptionSource
Use Case SamplesBattle Pass, Virtual Shop, Daily Rewards, Starter Pack, Cloud AI Mini Game, A/B testingGitHub — com.unity.services.samples.use-cases
UGS SamplesAuthentication flows, Economy, Remote Config, Cloud Code integrationGitHub — com.unity.services.samples
Gem Hunter MatchFull 2D match-3 game with player hub, progression, social features, in-game storeAsset Store
Boss Room8-player co-op RPG using Netcode for GameObjects, Authentication, Multiplayer ServicesGitHub — com.unity.multiplayer.samples.coop

Ready-Made Feature Blueprints

Implementation-ready blueprints for common live game features. Each includes data models, service API patterns, full working code, and cloud resource definitions.

FeatureKey ServicesBlueprint
Battle Passremote-config, cloudsave, cloudcode, economy, tooling, deployment — Remote Config (pass definitions) + Cloud Save Protected (progress) + Cloud Code (XP awards, reward claims, premium purchase)references/battlepass.md [blocked]
Achievementsremote-config, cloudsave, cloudcode, tooling, deployment — Remote Config (definitions) + Cloud Save (player records) + Cloud Code (server-authoritative unlocks) + Access Control. Asset Store: Achievements Building Blockreferences/achievements.md [blocked]
Player Accountauthentication, cloudsave — Authentication (3 sign-in methods) + Cloud Save (Default/Public/Protected player data). Asset Store: Player Account Building Block (via com.unity.starter-kits)references/player-account.md [blocked]

Common Architecture Patterns

Pattern 1: Config + State + Server Writes

Used by Battle Pass and Achievements:

  1. Definitions in Remote Config (.rc file) — what exists in the game
  2. Player state in Cloud Save — per-player progress
  3. Writes via Cloud Code — server-authoritative mutations
  4. Access Control (.ac file) — block direct player writes to sensitive keys

Pattern 2: Client-Direct Data

Used by Player Account (preferences, display settings):

  1. Player data in Cloud Save Default or Public access class
  2. Direct client writes — no Cloud Code needed for non-sensitive data

Pattern 3: Competitive Features

Used by Leaderboards and ranked systems:

  1. Score submission via Leaderboards API (or through Cloud Code for validation)
  2. Rankings retrieved client-side with pagination and player-relative queries

Validation

After writing code for a live game feature:

  1. Verify the project compiles without errors.
  2. Check that initialization order is correct: UnityServices.InitializeAsync() → Authentication sign-in → service calls.
  3. Confirm sensitive data writes (XP, rewards, currency) are routed through Cloud Code, not written directly from the client.
  4. Verify Access Control .ac files deny direct player writes to Protected Cloud Save keys.
  5. Verify all cloud resource files (.rc, .ac, .ccmr, .lb, .ec) are present and deployable via the Deployment Window.

Deployment Checklist

For any live game feature, deploy these cloud resources via the Deployment Window:

  • .rc file — Remote Config entries (game definitions, configs)
  • .ac file — Access Control policies (deny direct writes to protected keys)
  • .ccmr file — Cloud Code module reference (pointing to the module .sln)
  • .lb file — Leaderboard configuration (if using leaderboards)
  • .ec file — Economy definitions (if using virtual currencies/items)
  • manifest.json — Ensure all required packages are listed with correct versions
  • Environment configured in Services > Deployment settings

Detailed References

Service References

  • Authentication — sign-in methods, events, profiles, identity providers, code templates: references/authentication.md [blocked]
  • Cloud Code — scripts, modules, subscriptions, triggers, module creation, code templates: references/cloud-code.md [blocked]
  • Cloud Save — access classes, data operations, files, queries, code templates: references/cloud-save.md [blocked]
  • Remote Config — definitions, .rc format, Game Overrides, code templates: references/remote-config.md [blocked]
  • Tooling — Access Control (.ac) policies, Game Overrides (.ugo), URN reference: references/tooling.md [blocked]
  • Deployment — file types, workflow, programmatic API: references/deployment.md [blocked]
  • Services APIs — four client types, service areas, code templates: references/apis.md [blocked]

Feature Blueprints

  • Achievements — full implementation with data models, client code, Cloud Code module, cloud resources: references/achievements.md [blocked]
  • Battle Pass — full implementation with tiered XP, free/premium tracks, Cloud Code module, cloud resources: references/battlepass.md [blocked]
  • Player Account — sign-in flows, identity management, Cloud Save data, code templates: references/player-account.md [blocked]

Reminders

Before completing, verify:

  • Did you use UnityServices.InitializeAsync() → Authentication sign-in → service calls (in that order)?
  • Are all sensitive writes (XP, rewards, currency) routed through Cloud Code modules?
  • Are all cloud resource files (.rc, .ac, .ccmr) present and deployable?
  • Do Cloud Save read access classes match the bucket that was written to?

來源與署名

來源:unity-technologies/skills位於skills/build-live-game提交cb1dccb

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架