UnrealMCP Plugin
Um plugin não oficial para Unreal Engine que atua como servidor MCP, permitindo que ferramentas de IA controlem o motor remotamente.
Documentação
Plugin UnrealMCP
REPOSITÓRIO EM FASE INICIAL (WIP)
Estou trabalhando para adicionar mais ferramentas e limpar o código agora, pretendo permitir extensão fácil de ferramentas fora do plugin principal
Isto é muito um trabalho em andamento, e preciso limpar muita coisa!!!!!
Além disso, só uso Windows, então não sei como isso seria configurado para Mac/Unix
Visão Geral
UnrealMCP é um plugin não oficial para Unreal Engine, projetado para controlar o Unreal Engine com ferramentas de IA. Ele implementa um Protocolo de Controle de Máquina (MCP) dentro do Unreal Engine, permitindo que sistemas de IA externos interajam e manipulem o ambiente Unreal programaticamente.
Só aprendi sobre MCP há alguns dias, então não estou muito familiarizado com isso, ainda estou aprendendo, então as coisas podem ser um pouco brutas inicialmente. Implementei isso usando https://github.com/ahujasid/blender-mcp como referência, que depende do Claude for Desktop. Agora funciona tanto com Claude for Desktop quanto com Cursor. Se você experimentar com outros modelos, por favor me avise!
⚠️ AVISO
Este plugin permite que agentes de IA modifiquem diretamente seu projeto Unreal Engine. Embora possa ser uma ferramenta poderosa, também traz riscos:
- Agentes de IA podem fazer alterações inesperadas no seu projeto
- Arquivos podem ser acidentalmente excluídos ou modificados
- Configurações do projeto podem ser alteradas
- Assets podem ser sobrescritos
MEDIDAS DE SEGURANÇA IMPORTANTES:
- Sempre use controle de versão (como Git ou Perforce) com seu projeto
- Faça backups regulares do seu projeto
- Teste o plugin em um projeto separado primeiro
- Revise as alterações antes de confirmá-las
Ao usar este plugin, você reconhece que:
- Você é o único responsável por quaisquer alterações feitas no seu projeto
- O autor do plugin não é responsável por danos, perda de dados ou problemas causados por agentes de IA
- Você usa este plugin por sua conta e risco
Recursos
- Implementação de servidor TCP para controle remoto do Unreal Engine
- Protocolo de comandos baseado em JSON para integração com ferramentas de IA
- Integração com a interface do editor para acesso fácil à funcionalidade MCP
- Capacidades abrangentes de manipulação de cena
- Scripts Python complementares para interação no lado do cliente
Roteiro
Estas são as ideias que tenho para desenvolvimento a partir de 14/03/2025 Não tenho certeza do que é possível ainda, em teoria qualquer coisa, mas depende de quão bom o LLM integrado é em utilizar essas ferramentas.
- Operações básicas funcionando
- Python funcionando
- Materiais
- Extensões de usuário (em andamento)
- Ferramentas de assets
- Blueprints
- VFX Niagara
- Metasound
- Landscape (posso adiar isso porque a Epic mencionou que vai atualizar as ferramentas de landscape)
- Ferramentas de modelagem
- PCG
Requisitos
- Unreal Engine 5.5 (só testei nesta versão, pode funcionar com versões anteriores, mas sem suporte oficial)
- Ambiente de desenvolvimento C++ configurado para Unreal Engine
- Python 3.7+ para scripts no lado do cliente
- Modelo para executar os comandos, nos testes usei Claude for Desktop https://claude.ai/download
Pré-requisitos para executar
- Instalação do Unreal Editor (testado com 5.3, mas deve funcionar em 5.0+)
- Python 3.7+ (pode rodar com sua instalação Python existente)
- LLM compatível com MCP (Claude for Desktop, Cursor, etc.)
- Configuração: execute setup_unreal_mcp.bat na pasta MCP conforme instruções em MCP/README_MCP_SETUP.md
Início Rápido para Usuários do Cursor
Se você quiser usar UnrealMCP com Cursor, siga estes passos simples:
- Clone ou baixe este repositório como um zip
- Crie um novo Projeto Unreal, ou abra um existente
- Crie uma pasta "Plugins" no diretório do seu projeto se ela não existir
- Descompacte ou copie este repositório para a pasta Plugins
- Execute
setup_cursor_mcp.batna pasta MCP - Abra seu projeto Unreal e habilite o plugin em Editar > Plugins (se ainda não estiver habilitado)
- Inicie o Cursor e peça para trabalhar com seu projeto Unreal
É isso! O script de configuração configurará automaticamente tudo o que for necessário para a integração com Cursor.
Instalação
- Clone ou baixe este repositório como um zip
- Crie um novo Projeto Unreal, ou abra um existente
- Crie uma pasta "Plugins" no diretório do seu projeto se ela não existir
- Descompacte ou copie este repositório para a pasta Plugins
- Configure o MCP
- Execute o script
setup_unreal_mcp.batna pasta MCP (vejaMCP/README_MCP_SETUP.mdpara detalhes) - Isso configurará o Python e seu assistente de IA (Claude for Desktop ou Cursor)
- Execute o script
- Abra seu projeto Unreal, o plugin deve estar disponível no menu Plugins
- Se não estiver, habilite o plugin em Editar > Plugins
- Escolha seu assistente de IA preferido:
- Para Claude for Desktop: siga as instruções na seção "Com Claude for Desktop" abaixo
- Para Cursor: siga as instruções na seção "Com Cursor" abaixo
Com Claude for Desktop
Você precisará encontrar seu diretório de instalação do Claude for Desktop. Encontre claude_desktop_config.json e adicione uma entrada para que fique assim:
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"unreal": {
"command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
"args": []
}
}
}
Alternativamente, o script unreal_mcp_setup.bat deve fazer isso por você.
Para encontrar o caminho da sua instalação do Claude for Desktop, você pode ir em configurações e clicar em 'Editar Config' Isso geralmente está em
C:\Users\USERNAME\AppData\Roaming\Claude
Com Cursor
O Cursor deve ser configurado automaticamente se você executou o script de configuração com a opção Cursor. Se precisar configurar manualmente:
Windows: %APPDATA%\Cursor\User\settings.json
Adicione ou atualize as configurações com:
{
"mcp": {
"enabled": true,
"servers": {
"unreal": {
"command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
"args": []
}
}
}
}
Teste
Depois que tudo estiver configurado, você precisa iniciar o editor Unreal. Nota: Nada mais precisa ser iniciado ou configurado para executar a ponte MCP, ela será executada quando necessário.
Abra o Claude for Desktop ou Cursor, certifique-se de que as ferramentas foram habilitadas com sucesso, peça ao seu assistente de IA para trabalhar no Unreal.
Aqui estão alguns exemplos de prompts para tentar:
- "Quais atores estão no nível atual?"
- "Crie um cubo na posição (0, 0, 100)"
- "Liste os comandos disponíveis que posso usar com o Unreal Engine"
Uso
No Editor Unreal
Uma vez que o plugin esteja habilitado, você encontrará os controles MCP no botão da barra de ferramentas do editor.
O servidor TCP pode ser iniciado/parado a partir daqui. Verifique o log de saída sob o filtro de log LogMCP para informações adicionais.
Uma vez que o servidor esteja confirmado em execução no editor. Abra o Claude for Desktop, certifique-se de que as ferramentas foram habilitadas com sucesso, peça ao Claude para trabalhar no Unreal.
Atualmente, apenas operações básicas são suportadas: criar objetos, modificar suas transformações, obter informações da cena e executar scripts Python. O Claude comete muitos erros com Python do Unreal, pois acredito que não há muitos exemplos para isso, mas deixe-o rodar e ele geralmente resolve as coisas. Eu realmente gostaria de melhorar esse aspecto de como funciona, mas é uma fruta fácil de colher para adicionar funcionalidade ao Unreal.
Integração no Lado do Cliente
Use os scripts Python fornecidos no diretório MCP para conectar e controlar sua instância do Unreal Engine:
from unreal_mcp_client import UnrealMCPClient
# Connect to the Unreal MCP server
client = UnrealMCPClient("localhost", 13377)
# Example: Create a cube in the scene
client.create_object(
class_name="StaticMeshActor",
asset_path="/Engine/BasicShapes/Cube.Cube",
location=(0, 0, 100),
rotation=(0, 0, 0),
scale=(1, 1, 1),
name="MCP_Cube"
)
Referência de Comandos
O plugin suporta vários comandos para manipulação de cena:
get_scene_info: Recuperar informações sobre a cena atualcreate_object: Gerar um novo objeto na cenadelete_object: Remover um objeto da cenamodify_object: Alterar propriedades de um objeto existenteexecute_python: Executar comandos Python no ambiente Python do Unreal- E mais por vir...
Consulte a documentação no diretório Docs para uma referência completa de comandos.
Considerações de Segurança
- O servidor MCP aceita conexões de qualquer cliente por padrão
- Limite a exposição do servidor ao localhost para desenvolvimento
- Valide todos os comandos recebidos para prevenir ataques de injeção
Solução de Problemas
- Certifique-se de que o Unreal Engine está rodando com o plugin MCP.
- Verifique os logs no Claude for Desktop para saída de stderr.
- Entre em contato no discord, acabei de criá-lo, mas verificarei periodicamente Discord (Dreamatron Studios): https://discord.gg/abRftdSe
Estrutura do Projeto
Source/UnrealMCP/: Implementação principal do pluginPrivate/: Arquivos de implementação internaPublic/: Arquivos de cabeçalho públicos
Content/: Assets do pluginMCP/: Scripts Python do cliente e exemplosResources/: Ícones e outros recursos
Licença
Licença MIT
Copyright (c) 2025 kvick
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrição, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, ATO ILÍCITO OU OUTRA FORMA, DECORRENTE DE, FORA OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
Créditos
- Criado por: kvick
- X: @kvickart
- Discord: https://discord.gg/abRftdSe
Obrigado aos testadores!!!
-
@sidahuj pela inspiração
Contribuindo
Contribuições são bem-vindas, mas precisarei de algum tempo para entender as coisas e limpar primeiro, lol