Unity MCP
Um servidor MCP e plugin para conectar o Unity Editor e jogos a clientes MCP como o Claude Desktop.
Documentação
Unity MCP é um assistente de desenvolvimento de jogos com IA para Editor & Runtime. Conecte Claude, Cursor e Windsurf ao Unity via MCP. Automatize fluxos de trabalho, gere código e habilite IA dentro dos seus jogos.
Diferente de outras ferramentas, este plugin funciona dentro do seu jogo compilado, permitindo depuração de IA em tempo real e interação jogador-IA.
💬 Entre no nosso servidor Discord - Tire dúvidas, mostre seu trabalho e conecte-se com outros desenvolvedores!
- ✔️ Agentes de IA - Use os melhores agentes da Anthropic, OpenAI, Microsoft ou qualquer outro provedor, sem ficar preso a um fornecedor
- ✔️ Ferramentas - Uma ampla gama de Ferramentas MCP padrão para operar no Unity Editor
- ✔️ Habilidades - Gere habilidades para IA com base no sistema operacional, versão do Unity e plugins do projeto
- ✔️ Código e Testes - Desenvolva mecânicas de jogo e teste-as com agentes de IA
- ✔️ Runtime (no jogo) - Use LLMs diretamente dentro do seu jogo compilado para comportamento dinâmico de NPCs ou depuração
- ✔️ Suporte a depuração - Deixe a IA depurar e corrigir problemas em um projeto
- ✔️ Conversa natural - Converse com a IA como conversaria com um humano
- ✔️ Implantação flexível - Funciona localmente (stdio) e remotamente (http) via configuração
- ✔️ Extensível - Crie ferramentas personalizadas no código do seu projeto
https://github.com/user-attachments/assets/228baf4d-4f00-4dce-939d-fb985ebdd8dd
Ou use a CLI
# 1. Install unity-mcp-cli
npm install -g unity-mcp-cli
# 2. Install "AI Game Developer" in Unity project
unity-mcp-cli install-plugin ./MyUnityProject
# 3. Sign in to ai-game.dev (opens your browser — OAuth device flow)
unity-mcp-cli login
# 4. Open Unity project (auto-connects and generates skills)
unity-mcp-cli open ./MyUnityProject

Início Rápido
Comece a usar em três passos:
- Instale o plugin — baixe o instalador
.unitypackageou executeopenupm add com.ivanmurzak.unity.mcpAlternativa:
npx unity-mcp-cli install-plugin ./MyUnityProject— veja a documentação da CLI - Escolha um agente de IA — Claude Code, Claude Desktop, GitHub Copilot, Cursor ou qualquer outro
- Configure o agente de IA — abra
Window/AI Game Developerno Unity e clique em Gerar habilidades automaticamente (recomendado) ou Configurar MCP
Alternativa:
npx unity-mcp-cli setup-skills claude-code ./MyUnityProject— veja a documentação da CLI
É isso. Peça à sua IA "Crie 3 cubos em um círculo com raio 2" e veja acontecer. ✨
Referência de Habilidades e Ferramentas
O plugin vem com mais de 70 ferramentas integradas em quatro categorias. Cada ferramenta traz uma habilidade de IA. Todas as ferramentas estão disponíveis imediatamente após a instalação — nenhuma configuração extra é necessária. Veja docs/default-mcp-tools.md para a referência completa com descrições detalhadas.
🧰 Navegue pelo registro completo de ferramentas MCP online: ai-game.dev/docs/tools
Projeto & Assets
assets-copy- Copia o asset no caminho e o armazena em newPathassets-create-folder- Cria uma nova pasta na pasta pai especificadaassets-delete- Exclui os assets nos caminhos do projetoassets-find- Pesquisa o banco de dados de assets usando a string de filtro de pesquisaassets-find-built-in- Pesquisa os assets integrados do Unity Editorassets-get-data- Obtém dados do asset a partir do arquivo de asset, incluindo todos os campos e propriedades serializáveisassets-material-create- Cria um novo asset de material com parâmetros padrãoassets-modify- Modifica o arquivo de asset no projetoassets-move- Move os assets nos caminhos do projeto (também usado para renomear)assets-prefab-close- Fecha o prefab atualmente abertoassets-prefab-create- Cria um prefab a partir de um GameObject na cena ativa atualassets-prefab-instantiate- Instancia o prefab na cena ativa atualassets-prefab-open- Abre o modo de edição de prefab para um GameObject específicoassets-prefab-save- Salva um prefab no modo de edição de prefabassets-refresh- Atualiza o AssetDatabaseassets-shader-get-data- Obtém dados detalhados sobre um asset de shader (propriedades, subshaders, passes)assets-shader-list-all- Lista todos os shaders disponíveis nos assets e pacotes do projetopackage-add- Instala um pacote do registro do Unity Package Manager, URL Git ou caminho localpackage-list- Lista todos os pacotes instalados no projeto Unity (pacotes UPM)package-remove- Remove (desinstala) um pacote do projeto Unitypackage-search- Pesquisa pacotes tanto no registro do Unity Package Manager quanto nos pacotes instalados
Cena & Hierarquia
gameobject-component-add- Adiciona Component a um GameObjectgameobject-component-destroy- Destrói um ou vários componentes do GameObject alvogameobject-component-get- Obtém informações detalhadas sobre um Component específico em um GameObjectgameobject-component-list-all- Lista nomes de classes C# que estendem UnityEngine.Componentgameobject-component-modify- Modifica um Component específico em um GameObjectgameobject-create- Cria um novo GameObject no Prefab aberto ou em uma Cenagameobject-destroy- Destrói o GameObject e todos os GameObjects aninhados recursivamentegameobject-duplicate- Duplica GameObjects no Prefab aberto ou em uma Cenagameobject-find- Encontra um GameObject específico pelas informações fornecidasgameobject-modify- Modifica GameObjects e/ou campos e propriedades do componente anexadogameobject-set-parent- Define o GameObject pai para uma lista de GameObjectsobject-get-data- Obtém dados do Unity Object especificadoobject-modify- Modifica o Unity Object especificadoscene-create- Cria uma nova cena nos assets do projetoscene-get-data- Recupera a lista de GameObjects raiz na cena especificadascene-list-opened- Retorna a lista de cenas atualmente abertas no Unity Editorscene-open- Abre a cena a partir do arquivo de asset do projetoscene-save- Salva a cena aberta no arquivo de assetscene-set-active- Define a cena aberta especificada como a cena ativascene-unload- Descarrega a cena das cenas abertas no Unity Editorscreenshot-camera- Captura uma captura de tela de uma câmera e a retorna como imagemscreenshot-game-view- Captura uma captura de tela da Game View do Unity Editorscreenshot-isolated- Renderiza um GameObject isoladamente a partir de um ângulo escolhido (composição opcional 2x2)screenshot-scene-view- Captura uma captura de tela da Scene View do Unity Editor
Scripts & Editor
console-clear-logs- Limpa o cache de log do MCP e a janela Console do Unity Editorconsole-get-logs- Recupera logs do Unity Editor com opções de filtragemeditor-application-get-state- Retorna informações sobre o estado do aplicativo Unity Editor (playmode, pausado, compilação)editor-application-set-state- Controla o estado do aplicativo Unity Editor (iniciar/parar/pausar playmode)editor-selection-get- Obtém informações sobre a Seleção atual no Unity Editoreditor-selection-set- Define a Seleção atual no Unity Editorreflection-method-call- Chama qualquer método C# com parâmetros de entrada e retorna resultadosreflection-method-find- Encontra métodos no projeto usando C# Reflection (até métodos privados)script-delete- Exclui o(s) arquivo(s) de scriptscript-execute- Compila e executa código C# dinamicamente usando Roslynscript-read- Lê o conteúdo de um arquivo de scriptscript-update-or-create- Atualiza ou cria arquivo de script com o código C# fornecidotests-run- Executa testes Unity (EditMode/PlayMode) com filtragem e resultados detalhadostype-get-json-schema- Gera um JSON Schema para um tipo C# via reflexão
Perfil & Diagnóstico
profiler-capture-frame- Captura as informações de tempo do frame atual (delta time, FPS, contagens de frames)profiler-clear-data- Descarta todos os frames atualmente retidos pelo Editor Profilerprofiler-enable-module- Alterna o sinalizador local habilitado para um módulo de perfil nomeadoprofiler-get-memory-stats- Retorna um instantâneo de estatísticas de memória (reservado, alocado, heap Mono, gráficos)profiler-get-rendering-stats- Retorna tempo de frame, FPS, vsync, taxa de frames alvo, tipo de dispositivo gráficoprofiler-get-script-stats- Retorna o tempo de execução de scripts mais o uso de memória Mono / GCprofiler-get-status- Retorna o estado habilitado do profiler, módulos ativos e suporte de plataformaprofiler-list-modules- Lista todos os nomes de módulos de perfil conhecidos com seu sinalizador habilitadoprofiler-load-data- Lê um instantâneo JSON do profiler salvo anteriormenteprofiler-save-data- Salva um instantâneo de estatísticas derivadas do profiler em um arquivo JSONprofiler-start- Habilita o profiler de runtime do Unity e abre a janela Profilerprofiler-stop- Desabilita o profiler de runtime do Unity
Instale Habilidades e Ferramentas Adicionais
Instale extensões quando precisar de mais ferramentas ou crie suas próprias ferramentas.
| Extensão | Descrição |
|---|---|
| AI Animation | Conjunto de ferramentas adicionais para Animações Unity |
| AI Cinemachine | Ferramentas MCP para Cinemachine |
| AI InputSystem | Ferramentas MCP para o Unity Input System |
| AI Navigation | Ferramentas MCP para AI Navigation (superfícies NavMesh, baking, agentes, links) |
| AI ParticleSystem | Conjunto de ferramentas adicionais para Unity Particle System |
| AI ProBuilder | Conjunto de ferramentas adicionais para Unity ProBuilder |
| AI Splines | Ferramentas MCP para Unity Splines |
| AI Terrain | Conjunto de ferramentas adicionais para Unity Terrain |
| AI Tilemap | Ferramentas MCP para Unity 2D Tilemaps |
| AI Timeline | Ferramentas MCP para cutscenes e sequências Unity Timeline |
Conteúdo
- Início Rápido
- Referência de Skills e Ferramentas
- Conteúdo
- Instalação
- Exemplos de Fluxos de Trabalho com IA
- Personalizar Ferramentas
- Uso em tempo de execução (no jogo)
- Configuração do
MCP ServerUnity - Como Funciona a Arquitetura do Unity MCP
- Contribuição 💙💛
Mais Documentação
| Documento | Descrição |
|---|---|
| Ferramentas MCP Padrão | Referência completa de todas as ferramentas integradas com descrições |
| Configuração do Servidor MCP | Configuração do servidor, variáveis de ambiente, hospedagem remota |
| Implantação Docker | Guia de implantação Docker passo a passo |
| Guia de Desenvolvimento | Arquitetura, estilo de código, CI/CD — para contribuidores |
| Wiki | Primeiros passos, tutoriais, referência de API, FAQ |
| Ferramenta CLI | Instalar plugins, configurar e conectar via linha de comando |
Instalação
Passo 1: Instalar Unity MCP Plugin
⚠️ Requisitos (clique)
[!IMPORTANTE] O caminho do projeto não pode conter espaços
- ✅
C:/MyProjects/MyProject- ❌
C:/My Projects/MyProject- ❌
C:/My Projects/My Project- ❌
C:/MyProjects/My Project
Opção 1 - Instalador
- ⬇️ Baixar Instalador
- 📂 Importar instalador para o projeto Unity
- Você pode dar um duplo clique no arquivo - o Unity o abrirá automaticamente
- OU: Abra o Unity Editor primeiro, depois clique em
Assets/Import Package/Custom Package, e escolha o arquivo
Opção 2 - CLI (recomendado)
Instale o plugin via unity-mcp-cli — sem necessidade do Unity Editor:
# 1.1 Install unity-mcp-cli # ┌────────────────────┐
npm install -g unity-mcp-cli # │ Available AI agent │
# ├────────────────────┤
# 1.2 (Optional) Install Unity # │ antigravity │
unity-mcp-cli install-unity # │ claude-code │
# │ claude-desktop │
# 1.3 (Optional) Create Unity project # │ cline │
unity-mcp-cli create-project ./MyUnityProject # │ codex │
# │ cursor │
# 2. Install "AI Game Developer" in Unity project # │ gemini │
unity-mcp-cli install-plugin ./MyUnityProject # │ github-copilot-cli │
# │ kilo-code │
# 3. Sign in to ai-game.dev (OAuth device flow) # │ open-code │
unity-mcp-cli login # │ rider-junie │
# │ unity-ai │
# 4. Open Unity project (auto-connects and generates skills) │ vs-copilot │
unity-mcp-cli open ./MyUnityProject # │ vscode-copilot │
# └────────────────────┘
# 5. Wait for Unity Editor to be ready
unity-mcp-cli wait-for-ready ./MyUnityProject
Consulte a documentação completa da CLI para todos os comandos disponíveis.
Login na nuvem e fixação de projeto:
unity-mcp-cli loginexecuta o fluxo de dispositivo OAuth no navegador e armazena a credencial no armazenamento compartilhado da máquina (~/.ai-game-dev/credentials.json) — não há token de acesso pessoal para colar. Por padrão, a configuração do agente de IA quesetup-mcpescreve aponta para um endpoint fixado por projeto (https://ai-game.dev/mcp/p/<pin>); passe--no-pinpara usar o endpoint compartilhadohttps://ai-game.dev/mcp. As equipes podem distribuir acesso com um código de inscrição:unity-mcp-cli install-plugin --enroll <code>.
Passo 2: Instalar AI agent
Escolha um único AI agent de sua preferência — você não precisa instalar todos. Esta será sua principal janela de chat para se comunicar com o LLM.
- Claude Code (recomendado)
- Claude Desktop
- GitHub Copilot no VS Code
- Antigravity
- Cursor
- Windsurf
- Qualquer outro suportado
O AI Game Developer é bastante universal, por isso você pode usar qualquer agente de IA de sua preferência — ele funcionará tão bem quanto qualquer outro. O único requisito importante é que o agente de IA deve suportar Skills ou atualizações dinâmicas de Ferramentas MCP.
Passo 3: Configurar AI agent
Configuração automática
- Abra o projeto Unity
- Abra
Window/AI Game Developer - Opção 1: Clique em
Auto-generateSkills (recomendado) - Opção 2: Clique em
ConfigureModel Context Protocol (MCP)

Se o seu cliente MCP não estiver na lista, use o JSON bruto mostrado na janela para injetá-lo no seu cliente MCP. Leia as instruções do seu cliente MCP específico sobre como fazer isso.
Configuração manual
Se a configuração automática não funcionar para você por qualquer motivo, use o JSON da janela AI Game Developer (Unity-MCP) para configurar qualquer MCP Client manualmente.
Configuração por linha de comando
Criar comando
1. Escolha seu <command> para o seu ambiente
| Plataforma | <command> |
|---|---|
| Windows x64 | "<unityProjectPath>/Library/mcp-server/win-x64/gamedev-mcp-server.exe" port=<port> client-transport=stdio |
| Windows x86 | "<unityProjectPath>/Library/mcp-server/win-x86/gamedev-mcp-server.exe" port=<port> client-transport=stdio |
| Windows arm64 | "<unityProjectPath>/Library/mcp-server/win-arm64/gamedev-mcp-server.exe" port=<port> client-transport=stdio |
| MacOS Apple-Silicon | "<unityProjectPath>/Library/mcp-server/osx-arm64/gamedev-mcp-server" port=<port> client-transport=stdio |
| MacOS Apple-Intel | "<unityProjectPath>/Library/mcp-server/osx-x64/gamedev-mcp-server" port=<port> client-transport=stdio |
| Linux x64 | "<unityProjectPath>/Library/mcp-server/linux-x64/gamedev-mcp-server" port=<port> client-transport=stdio |
| Linux arm64 | "<unityProjectPath>/Library/mcp-server/linux-arm64/gamedev-mcp-server" port=<port> client-transport=stdio |
2. Substitua <unityProjectPath> pelo caminho completo para o projeto Unity
3. Substitua <port> pela sua porta da configuração do AI Game Developer
4. Adicione o servidor MCP usando a linha de comando
Gemini CLI
gemini mcp add ai-game-developer <command>
Substitua
<command>da tabela acima
Claude Code CLI
claude mcp add ai-game-developer <command>
Substitua
<command>da tabela acima
GitHub Copilot CLI
copilot
/mcp add
Nome do servidor: ai-game-developer
Tipo de servidor: local
Comando: <command>
Substitua
<command>da tabela acima
Exemplos de Fluxos de Trabalho com IA
Comunique-se com a IA (LLM) no seu AI agent. Peça para ela fazer qualquer coisa que você quiser. Quanto melhor você descrever sua tarefa ou ideia, melhor ela executará o trabalho.
Alguns AI agents permitem que você escolha diferentes modelos de LLM. Preste atenção nesse recurso, pois alguns modelos podem funcionar muito melhor que outros.
Exemplos de prompts:
Explain my scene hierarchy
Create 3 spheres on top of each other
Create metallic golden material and attach it to a new sphere gameObject
Certifique-se de que o modo
Agentesteja habilitado se estiver usando VS Code com Copilot
Desativando notificações de atualização para toda a equipe
O plugin mostra um popup de atualização na inicialização do Editor quando uma versão mais recente está disponível no OpenUPM. Por padrão, cada membro da equipe vê esse popup até clicar individualmente em "Não mostrar novamente" (que é uma configuração por usuário armazenada na máquina dele).
Para projetos Unity com várias pessoas onde um engenheiro é responsável pelo versionamento do plugin, você pode desativar o popup para a equipe inteira abrindo Edit ▸ Project Settings ▸ AI Game Developer e habilitando "Desativar notificações de atualização para toda a equipe". A configuração é persistida em ProjectSettings/AI-Game-Developer-UpdateSettings.asset e só precisa ser definida uma vez por projeto — faça commit desse arquivo e todos os membros da equipe que puxarem o commit terão o popup suprimido.
A mesma opção também pode ser acessada via Tools ▸ AI Game Developer ▸ Updates ▸ Disable Update Notifications (Team) na barra de menu.
Recursos Avançados para LLM
O Unity MCP fornece ferramentas avançadas que permitem que o LLM trabalhe mais rápido e com mais eficácia, evitando erros e se autocorrigindo quando ocorrem falhas. Tudo é projetado para alcançar seus objetivos de forma eficiente.
Capacidades Principais
- ✔️ Ferramentas prontas para agente - Encontre qualquer coisa que precisar em 1-2 passos
- ✔️ Compilação instantânea - Compilação e execução de código C# usando
Roslynpara iteração mais rápida - ✔️ Acesso total a assets - Acesso de leitura/escrita a assets e scripts C#
- ✔️ Feedback inteligente - Feedback positivo e negativo bem descrito para compreensão adequada de problemas
Recursos Baseados em Reflexão
- ✔️ Referências a objetos - Fornece referências a objetos existentes para código C# instantâneo
- ✔️ Acesso a dados do projeto - Obtenha acesso total aos dados do projeto em formato legível
- ✔️ Modificações granulares - Preencha e modifique qualquer dado no projeto
- ✔️ Descoberta de métodos - Encontre qualquer método em todo o código, incluindo arquivos DLL compilados
- ✔️ Execução de métodos - Chame qualquer método em todo o código
- ✔️ Parâmetros avançados - Forneça qualquer propriedade para chamadas de método, até mesmo referências a objetos existentes na memória
- ✔️ API Unity ao vivo - API Unity disponível instantaneamente — mesmo quando o Unity muda, você obtém a API atualizada
- ✔️ Autodocumentável - Acesse descrições legíveis de qualquer
class,method, oupropertyvia atributosDescription
Personalizar Ferramentas
Unity MCP suporta desenvolvimento de MCP Tool, MCP Resource, e MCP Prompt personalizados pelos proprietários do projeto. O servidor MCP coleta dados do Unity MCP Plugin e os expõe a um cliente. Qualquer pessoa na cadeia de comunicação MCP receberá informações sobre novos recursos MCP, que o LLM pode decidir usar em algum momento.
Adicionar Tool personalizado
Para adicionar um Tool personalizado, você precisa:
- Uma classe com o atributo
AiToolType - Um método na classe com o atributo
AiTool - Opcional: Adicione um atributo
Descriptiona cada argumento do método para ajudar o LLM a entendê-lo - Opcional: Use propriedades
string? optional = nullcom?e valores padrão para marcá-las comooptionalpara o LLM
Observe que a linha
MainThread.Instance.Run(() =>permite executar código na thread principal, o que é necessário para interagir com a API do Unity. Se você não precisar disso e executar a ferramenta em uma thread em segundo plano for aceitável, evite usar a thread principal por questões de eficiência.
[AiToolType]
public class Tool_GameObject
{
[AiTool
(
"MyCustomTask",
Title = "Create a new GameObject"
)]
[Description("Explain here to LLM what is this, when it should be called.")]
public string CustomTask
(
[Description("Explain to LLM what is this.")]
string inputData
)
{
// do anything in background thread
return MainThread.Instance.Run(() =>
{
// do something in main thread if needed
return $"[Success] Operation completed.";
});
}
}
Adicionar MCP Prompt personalizado
MCP Prompt permite injetar prompts personalizados na conversa com o LLM. Ele suporta dois papéis de remetente: Usuário e Assistente. Esta é uma maneira rápida de instruir o LLM a executar tarefas específicas. Você pode gerar prompts usando dados personalizados, fornecendo listas ou qualquer outra informação relevante.
[AiPromptType]
public static class Prompt_ScriptingCode
{
[AiPrompt(Name = "add-event-system", Role = Role.User)]
[Description("Implement UnityEvent-based communication system between GameObjects.")]
public string AddEventSystem()
{
return "Create event system using UnityEvents, UnityActions, or custom event delegates for decoupled communication between game systems and components.";
}
}
Uso em tempo de execução (no jogo)
Use Unity MCP no seu jogo/aplicativo. Use Ferramentas, Recursos ou Prompts. Por padrão, não há ferramentas; você precisará implementar as suas personalizadas.
// Build MCP plugin
var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
{
builder.WithConfig(config =>
{
config.Host = "http://localhost:8080";
config.Token = "your-token";
});
// Automatically register all tools from the current assembly
builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
})
.Build();
await mcpPlugin.Connect(); // Start active connection with retry to the MCP server
await mcpPlugin.Disconnect(); // Stop active connection and close existed connection
Exemplo: Bot de jogo de Xadrez com IA
Existe um jogo clássico de Xadrez. Vamos terceirizar para o LLM a lógica do bot. O bot deve fazer a jogada usando as regras do jogo.
[AiToolType]
public static class ChessGameAI
{
[AiTool("chess-do-turn", Title = "Do the turn")]
[Description("Do the turn in the chess game. Returns true if the turn was accepted, false otherwise.")]
public static Task<bool> DoTurn(int figureId, Vector2Int position)
{
return MainThread.Instance.RunAsync(() => ChessGameController.Instance.DoTurn(figureId, position));
}
[AiTool("chess-get-board", Title = "Get the board")]
[Description("Get the current state of the chess board.")]
public static Task<BoardData> GetBoard()
{
return MainThread.Instance.RunAsync(() => ChessGameController.Instance.GetBoardData());
}
}
Por que o uso em tempo de execução é necessário?
Existem muitos casos de uso. Imagine que você está trabalhando em um jogo de Xadrez com um bot. Você pode terceirizar a tomada de decisão do bot para o LLM escrevendo apenas algumas linhas de código.
Configuração do MCP Server Unity
O servidor Unity MCP suporta muitas opções diferentes de inicialização e implantação via Docker. Ambos os protocolos de transporte são suportados: streamableHttp e stdio. Se você precisar personalizar ou implantar o Unity MCP Server na nuvem, esta seção é para você. Leia mais...
Variáveis
Não importa qual opção de inicialização você escolher, todas suportam configuração personalizada usando tanto Variáveis de Ambiente quanto Argumentos de Linha de Comando. Funcionará com os valores padrão se você só precisar iniciá-lo; não perca tempo com as variáveis. Apenas certifique-se de que o Plugin Unity também tenha valores padrão, especialmente o --port, eles devem ser iguais.
| Variável de Ambiente | Argumentos de Linha de Comando | Descrição |
|---|---|---|
MCP_PLUGIN_PORT | --port | Cliente -> Servidor <- Plugin porta de conexão (padrão: 8080) |
MCP_PLUGIN_CLIENT_TIMEOUT | --plugin-timeout | Plugin -> Servidor tempo limite de conexão (ms) (padrão: 10000) |
MCP_PLUGIN_CLIENT_TRANSPORT | --client-transport | Cliente -> Servidor tipo de transporte: stdio ou streamableHttp (padrão: streamableHttp) |
MCP_AUTHORIZATION | --authorization | Modo de autenticação para conexões Cliente recebidas: none, oauth, ou token (padrão: none; o modo legado required foi removido) |
MCP_PLUGIN_TOKEN | --token | Token Bearer exigido do Cliente quando a autorização é token (padrão: não definido) |
MCP_PLUGIN_IDLE_TIMEOUT_SECONDS | --idle-timeout-seconds | Desligue o servidor após este número de segundos sem conexões (padrão: 600) |
Os argumentos de linha de comando também suportam a opção com um único prefixo
-(-port) e uma opção sem prefixo algum (port).
Para variáveis de webhook de análise e autorização (
MCP_PLUGIN_WEBHOOK_*), consulte docs/mcp-server.md.
Escolhendo um transporte: Use
stdioquando o cliente MCP inicia o binário do servidor diretamente (uso local — esta é a configuração mais comum). UsestreamableHttpao executar o servidor como um processo independente ou em Docker/nuvem, e conectando via HTTP.
Variáveis do Plugin
O Unity MCP Plugin lê as seguintes variáveis de ambiente (e argumentos de linha de comando) na inicialização para substituir os valores do arquivo de configuração salvo. As substituições são aplicadas em tempo de execução; na primeira execução ou quando um novo token de autenticação é gerado, os valores substituídos são gravados no arquivo de configuração. Em execuções subsequentes, as substituições são aplicadas em memória, mas não são salvas automaticamente. A exceção é UNITY_MCP_TOOLS, que usa [JsonIgnore] e nunca é persistido — é apenas em tempo de execução.
| Variável de Ambiente | Argumento de Linha de Comando | Valores | Descrição |
|---|---|---|---|
UNITY_MCP_CLOUD_URL | -url | string de URL | Substitui a URL do MCP Server (UNITY_MCP_HOST é um alias legado) |
UNITY_MCP_CONNECTION_MODE | -UNITY_MCP_CONNECTION_MODE | Cloud / Custom | Força o modo de conexão (uma URL de loopback implica Custom) |
UNITY_MCP_KEEP_CONNECTED | -UNITY_MCP_KEEP_CONNECTED | true / false | Força ativar ou desativar a conexão ativa |
UNITY_MCP_AUTH_OPTION | -auth | none / oauth / token | Força a definição do modo de autenticação (legado required migra para token) |
UNITY_MCP_TOKEN | -token | string | Força a definição do token de autenticação |
UNITY_MCP_TRANSPORT | -UNITY_MCP_TRANSPORT | stdio / streamableHttp | Força o transporte do cliente que o plugin configura |
UNITY_MCP_START_SERVER | -UNITY_MCP_START_SERVER | true / false | Força se o plugin mantém um processo de servidor local em execução |
UNITY_MCP_TOOLS | -UNITY_MCP_TOOLS | IDs de ferramentas separados por vírgula | Habilita apenas as ferramentas listadas; todas as outras são desativadas. IDs desconhecidos são registrados como erros. |
Os argumentos de linha de comando têm precedência sobre as variáveis de ambiente. Ambos substituem o valor do arquivo de configuração salvo. Os sinalizadores curtos
-url,-tokene-authsão aliases; os nomes completos dos argumentos-UNITY_MCP_*também são aceitos.
Exemplo (modo lote CI/CD):
Unity.exe -batchmode -nographics \
-UNITY_MCP_CLOUD_URL=http://localhost:8080 \
-UNITY_MCP_KEEP_CONNECTED=true \
-UNITY_MCP_AUTH_OPTION=token \
-UNITY_MCP_TOKEN=my-secret-token
Docker 📦
Certifique-se de que o Docker esteja instalado. E certifique-se de que o Docker Desktop esteja iniciado se você estiver no sistema operacional Windows.
Leia as instruções avançadas de configuração do Docker.
Transporte streamableHttp
docker run -p 8080:8080 aigamedeveloper/mcp-server
config do MCP Client:
{
"mcpServers": {
"ai-game-developer": {
"url": "http://localhost:8080"
}
}
}
Substitua
urlpelo seu endpoint real se estiver hospedado na nuvem.
Transporte stdio
Para usar esta variante, o MCP Client deve iniciar o MCP Server no docker. Isso é alcançável através da configuração modificada do MCP Client.
docker run -t -e MCP_PLUGIN_CLIENT_TRANSPORT=stdio -p 8080:8080 aigamedeveloper/mcp-server
config do MCP Client:
{
"mcpServers": {
"ai-game-developer": {
"command": "docker",
"args": [
"run",
"-t",
"-e",
"MCP_PLUGIN_CLIENT_TRANSPORT=stdio",
"-p",
"8080:8080",
"aigamedeveloper/mcp-server"
]
}
}
}
port personalizado
docker run -e MCP_PLUGIN_PORT=123 -p 123:123 aigamedeveloper/mcp-server
config do MCP Client:
{
"mcpServers": {
"ai-game-developer": {
"url": "http://localhost:123"
}
}
}
Substitua
urlpelo seu endpoint real se estiver hospedado na nuvem
Executável binário
Você pode iniciar o Unity MCP Server diretamente de um arquivo binário. Você precisará ter um binário compilado especificamente para a arquitetura da sua CPU. Verifique a Página de Lançamentos do GitHub, ela contém binários pré-compilados para todas as arquiteturas de CPU.
./gamedev-mcp-server --port 8080 --plugin-timeout 10000 --client-transport stdio
config do MCP Client:
Substitua
<project>pelo caminho do seu projeto Unity.
{
"mcpServers": {
"ai-game-developer": {
"command": "<project>/Library/mcp-server/win-x64/gamedev-mcp-server.exe",
"args": [
"--port=8080",
"--plugin-timeout=10000",
"--client-transport=stdio"
]
}
}
}
Como Funciona a Arquitetura do Unity MCP
O Unity MCP serve como uma ponte entre LLMs e Unity. Ele expõe e explica as ferramentas do Unity ao LLM, que então entende a interface e utiliza as ferramentas de acordo com as solicitações do usuário.
Conecte o Unity MCP a clientes LLM como Claude ou Cursor usando a janela integrada do AI Connector. Clientes personalizados também são suportados.
O sistema é altamente extensível — você pode definir MCP Tools, MCP Resource ou MCP Prompt personalizados diretamente no código do seu projeto Unity, expondo novas capacidades a clientes de IA ou automação. Isso torna o Unity MCP uma base flexível para construir fluxos de trabalho avançados, prototipagem rápida e integração de recursos orientados por IA no seu processo de desenvolvimento.
O que é MCP
MCP - Model Context Protocol. Em poucas palavras, isso é USB Type-C para IA, especificamente para LLM (Large Language Model). Ele ensina ao LLM como usar recursos externos. Como o Unity Engine neste caso, ou até mesmo seu método C# personalizado no seu código. Documentação oficial.
O que é AI agent
É um aplicativo com uma janela de chat. Pode ter agentes inteligentes para operar melhor, pode ter ferramentas MCP avançadas incorporadas. Em geral, um MCP Client bem feito é 50% do sucesso da IA na execução de uma tarefa. É por isso que é muito importante escolher o melhor para uso.
O que é MCP Server
É uma ponte entre MCP Client e "algo mais", neste caso específico é o Unity Engine. Este projeto inclui MCP Server.
O que é MCP Tool
MCP Tool é uma função ou método que o LLM pode chamar para interagir com o Unity. Essas ferramentas atuam como a ponte entre solicitações em linguagem natural e operações reais do Unity. Quando você pede à IA para "criar um cubo" ou "mudar a cor do material", ela usa MCP Tools para executar essas ações.
Características principais:
- Funções executáveis que realizam operações específicas
- Parâmetros tipados com descrições para ajudar o LLM a entender quais dados fornecer
- Valores de retorno que fornecem feedback sobre o sucesso ou falha da operação
- Ciente de threads - pode ser executado na thread principal para chamadas da API Unity ou em thread de segundo plano para processamento pesado
Quando usar Tool
- Automatize tarefas repetitivas - Crie ferramentas para operações comuns que você faz com frequência
- Operações complexas - Agrupe múltiplas chamadas da API Unity em uma única ferramenta fácil de usar
- Fluxos de trabalho específicos do projeto - Construa ferramentas que entendam a estrutura e convenções específicas do seu projeto
- Tarefas propensas a erros - Crie ferramentas que incluam validação e tratamento de erros
- Lógica de jogo personalizada - Exponha os sistemas do seu jogo à IA para criação dinâmica de conteúdo
Exemplos:
- Criando e configurando GameObjects com componentes específicos
- Processamento em lote de assets (texturas, materiais, prefabs)
- Configurando iluminação e efeitos de pós-processamento
- Gerando geometria de nível ou posicionando objetos proceduralmente
- Configurando configurações de física ou camadas de colisão
O que é MCP Resource
MCP Resource fornece acesso somente leitura aos dados dentro do seu projeto Unity. Diferente das MCP Tools que executam ações, os Resources permitem que o LLM inspecione e entenda o estado atual do seu projeto, assets e configuração. Pense neles como "sensores" que dão à IA contexto sobre o seu projeto.
Características principais:
- Acesso somente leitura aos dados do projeto e objetos Unity
- Informações estruturadas apresentadas em um formato que o LLM possa entender
- Dados em tempo real que refletem o estado atual do seu projeto
- Consciência contextual ajudando a IA a tomar decisões informadas
Quando usar MCP Resource
- Análise de projeto - Deixe a IA entender a estrutura, assets e organização do seu projeto
- Assistência de depuração - Forneça informações de estado atual para solução de problemas
- Sugestões inteligentes - Dê contexto à IA para fazer melhores recomendações
- Geração de documentação - Crie documentação automaticamente com base no estado do projeto
- Gerenciamento de assets - Ajude a IA a entender quais assets estão disponíveis e suas propriedades
Exemplos:
- Expondo a hierarquia da cena e propriedades do GameObject
- Listando materiais, texturas e suas configurações disponíveis
- Mostrando dependências de scripts e relacionamentos de componentes
- Exibindo a configuração atual de iluminação e pipeline de renderização
- Fornecendo informações sobre fontes de áudio, animações e sistemas de partículas
O que é MCP Prompt
MCP Prompt permite que você injete prompts predefinidos na conversa com o LLM. São modelos inteligentes que podem fornecer contexto, instruções ou conhecimento para guiar o comportamento da IA. Os Prompts podem ser texto estático ou gerados dinamicamente com base no estado atual do seu projeto.
Características principais:
- Orientação contextual que influencia como a IA responde
- Baseado em papéis - pode simular diferentes personas (solicitações do usuário ou conhecimento do assistente)
- Conteúdo dinâmico - pode incluir dados do projeto em tempo real
- Modelos reutilizáveis para cenários e fluxos de trabalho comuns
Quando usar MCP Prompt
- Fornecer conhecimento de domínio - Compartilhe melhores práticas e padrões de codificação específicos do seu projeto
- Definir convenções de codificação - Estabeleça convenções de nomenclatura, padrões de arquitetura e estilo de código
- Dar contexto sobre a estrutura do projeto - Explique como seu projeto está organizado e por quê
- Compartilhar instruções de fluxo de trabalho - Forneça procedimentos passo a passo para tarefas comuns
- Injetar conhecimento especializado - Adicione informações sobre recursos específicos do Unity, ativos de terceiros ou sistemas personalizados
Exemplos:
- "Sempre use PascalCase para métodos públicos e camelCase para campos privados"
- "Este projeto usa um sistema de eventos personalizado localizado em Scripts/Events/"
- "Ao criar elementos de UI, sempre adicione-os ao Canvas em Scene/UI/MainCanvas"
- "Desempenho é crítico - prefira pooling de objetos para objetos instanciados com frequência"
- "Este projeto segue os princípios SOLID - explique qualquer decisão de arquitetura"
Desinstalação 🧹
Para remover completamente o plugin do seu projeto Unity:
- Abra Window ▸ Package Manager, selecione o pacote AI Game Developer — MCP e clique em Remove.
- Feche o Unity e exclua a pasta
Assets/Plugins/NuGet(junto com o arquivoAssets/Plugins/NuGet.meta).
Contribuição 💙💛
Contribuições são muito apreciadas. Traga suas ideias e vamos tornar o desenvolvimento de jogos mais simples do que nunca! Você tem uma ideia para um novo Tool ou recurso, ou encontrou um bug e sabe como corrigi-lo?
Por favor, dê uma estrela a este projeto 🌟 se você o achar útil!
- 👉 Leia a documentação de desenvolvimento
- 👉 Fork o projeto
- Clone o fork e abra a pasta
./Unity-MCP-Pluginno Unity - Implemente novas coisas no projeto, faça commit, envie para o GitHub
- Crie um Pull Request direcionado ao repositório original Unity-MCP, branch
main.