Communitygithub.com

unity-technologies/construir-jogo-ao-vivo

Construa e opere um jogo ao vivo usando Unity Services. Use quando o usuário precisar implementar, conectar ou depurar recursos orientados por backend — passes de batalha, conquistas, progressão de jogadores, salvamentos na nuvem, classificações, matchmaking, economias virtuais, lógica autoritativa do servidor, anti-cheat, contas e autenticação de jogadores, configuração remota, feature flags, testes A/B, análise de dados ou implantação de recursos na nuvem. Dispara em operações ao vivo, serviço ao vivo, backend, autoridade do servidor, código na nuvem, salvamento na nuvem, configuração remota, dados do jogador, retenção, ciclo de monetização, passe de temporada, ranqueamento, sessões multiplayer, salas de espera ou qualquer integração com Unity Services.

O que é construir-jogo-ao-vivo?

O skill 'Build a Live Game With Unity Gaming Services' fornece um guia completo para desenvolvedores que desejam criar e operar jogos ao vivo usando Unity Gaming Services (UGS). Ele abrange desde a inicialização básica do serviço e autenticação de jogadores até a integração de funcionalidades avançadas como economia virtual, classificações, matchmaking e lógica autoritativa do servidor via Cloud Code. O conteúdo detalha pacotes essenciais como Unity Services Core, Authentication, Cloud Save, Remote Config e Cloud Code, explicando como eles se combinam arquiteturalmente. Inclui uma seção de referência rápida para serviços principais, blocos de construção prontos da Asset Store, blueprints de funcionalidades e padrões comuns de arquitetura como Economy e Cloud Save., além de uma lista de verificação de implantação para garantir que todos os recursos estejam configurados corretamente antes do lançamento. O skill é projetado para ferramentas de desenvolvimento como Claude Code e similares que integram documentação técnica diretamente no fluxo de trabalho, ajudando os usuários a implementar rapidamente funcionalidades de jogos ao vivo sem precisar consultar várias fontes de documentação.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construa um Jogo ao Vivo Com Unity Gaming Services

Pacotes UGS

PacoteVersão MínimaPropósito
com.unity.services.core1.16.0Inicialização, grafo de dependências
com.unity.services.authentication3.6.1Login e identidade do jogador
com.unity.services.cloudcode2.10.3Módulos C# autoritativos do servidor
com.unity.services.cloudsave3.4.0Armazenamento chave-valor por jogador e compartilhado
com.unity.remote-config4.2.5Configuração de jogo no lado do servidor
com.unity.services.deployment1.7.2Implantar recursos na nuvem a partir do Editor
com.unity.services.tooling1.4.1Controle de Acesso e Game Overrides
com.unity.services.apis1.1.1Clientes REST gerados para todos os serviços UGS

Padrão de Inicialização

Todo jogo UGS começa da mesma forma. O com.unity.services.core deve inicializar primeiro, depois o jogador faz login:

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

await UnityServices.InitializeAsync();
await AuthenticationService.Instance.SignInAnonymouslyAsync();
// Todos os outros serviços estão prontos agora

Após a conclusão de InitializeAsync(), os singletons dos serviços (ex.: CloudSaveService.Instance, CloudCodeService.Instance) estão disponíveis.

Mapa de Pacotes

Fundação

PacotePropósitoSingleton / Ponto de Entrada
CoreInicialização, grafo de dependências, registro de componentesUnityServices.InitializeAsync()
AuthenticationLogin do jogador (anônimo, social, Unity, nome de usuário/senha), identidadeAuthenticationService.Instance
Services APIsClientes REST gerados para todos os serviços UGS; acesso à API de administração via contas de serviçoClasses diretas da API

Dados e Configuração do Jogador

PacotePropósitoSingleton / Ponto de Entrada
Cloud SaveDados chave-valor por jogador (Padrão, Público, Protegido) e dados Customizados globais do jogoCloudSaveService.Instance.Data.Player / .Data.Custom
Remote ConfigConfiguração do jogo no lado do servidor, feature flags, definições JSONRemoteConfigService.Instance
EconomyMoedas virtuais, itens de inventário, compras, lojasEconomyService.Instance

Lógica do Servidor e Segurança

PacotePropósitoSingleton / Ponto de Entrada
Cloud CodeMódulos C# autoritativos do servidor para gravações confiáveis e validaçãoCloudCodeService.Instance → CallModuleEndpointAsync
ToolingCriar e implantar arquivos de Controle de Acesso (.ac) e Game Overrides (.ugo)Apenas Editor (Janela de Implantação)
DeploymentImplantar recursos na nuvem (.rc, .ac, .ccmr, .lb, etc.) a partir do Unity EditorApenas Editor (Services > Deployment)

Social e Competitivo

PacotePropósitoSingleton / Ponto de Entrada
MultiplayerSessões, matchmaking, salas de espera. Blocos de Construção: Sessão Multiplayer, Sessão Matchmaker, Sessão de ServidorMultiplayerService.Instance
LeaderboardsEnvio de pontuação, rankings, níveis, histórico de versão. Bloco de Construção: LeaderboardsLeaderboardsService.Instance

Telemetria

PacotePropósitoSingleton / Ponto de Entrada
AnalyticsEventos personalizados, eventos padrão, gerenciamento de consentimentoAnalyticsService.Instance

Arquitetura — Como os Pacotes se Combinam

                    UnityServices.InitializeAsync()
                              │
                              ▼
                     AuthenticationService
                    (fazer login → PlayerId)
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
        Remote Config     Cloud Save      Economy
      (config. do jogo, (estado do jog.,  (moedas,
       definições,       progresso,       inventário,
       feature flags)    preferências)    compras)
              │               │               │
              └───────┬───────┘               │
                      ▼                       │
                 Cloud Code                   │
              (gravações                     │
               autoritativas do  ◄──────────┘
               servidor,
               validação,
               lógica anti-cheat)
                      │
              ┌───────┼───────┐
              ▼       ▼       ▼
         Cloud Save  Economy  Leaderboards
         (gravações  (conces-  (envio de
          protegidas) são de   pontuação)
                     itens)

Princípio chave: Para qualquer dado que afete a integridade do jogo (XP, recompensas, moedas), roteie as gravações através de módulos Cloud Code. Gravações diretas do cliente são apropriadas apenas para dados não sensíveis (preferências, configurações de exibição).

Serviços Principais — Referência Rápida

Authentication

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

Gerencia a identidade do jogador. Métodos de login: anônimo, provedores sociais (Google, Apple, Steam, Facebook, Oculus, etc.), navegador Unity, nome de usuário/senha e fluxo de código de dispositivo.

Após o login: PlayerId e PlayerName estão disponíveis. Todos os métodos de login disparam o evento SignedIn. O PlayerAccountService (para login via navegador Unity) reside em um assembly separado (Unity.Services.Authentication.PlayerAccounts).

Cloud Code

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

Executa módulos C# no lado do servidor (.NET 9) para operações confiáveis. Módulos são implantados como arquivos .ccmr. O cliente chama:

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

Prefira módulos C# em vez de scripts JavaScript para produção. Módulos também suportam mensagens push em tempo real via assinaturas, gatilhos orientados a eventos e escopo de sessão multiplayer.

Cloud Save

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

Armazenamento chave-valor por jogador com três classes de acesso, além de dados Customizados globais do jogo:

Classe de AcessoLeituraGravaçãoCaso de Uso
PadrãoProprietárioProprietárioConfigurações privadas, preferências
PúblicoQualquer umProprietárioPerfis públicos, nomes de exibição
ProtegidoProprietárioApenas servidor (Cloud Code)Dados anti-cheat, estado concedido pelo servidor
CustomizadoQualquer jogadorApenas servidorEstado compartilhado do jogo, configurações globais

Valores são serializados como JSON. Suporta controle de concorrência com bloqueio de gravação via SaveItem, consultas no lado do servidor via QueryAsync e armazenamento de arquivos binários.

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.

Habilidades Relacionadas