Ivan Murzak

by IvanMurzak
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Utilizes .NET 9.0 as the foundation for the server component, enabling communication between the Unity plugin and external AI clients, with support for custom tool development in C#.

  • Acts as an AI-powered gateway between Unity Editor and LLM, allowing manipulation of GameObjects, Components, Assets, and Scenes. Supports creating and managing Unity objects, instantiating prefabs, searching assets, and viewing scene hierarchies with an extensible tool system.

Unity MCP(서버 + 플러그인)

유니티 버전편집모드플레이모드독립형
2022년 3월 61일
2023.2.20f1
6000.0.46f1

Unity-MCP는 Unity 에디터와 LLM 간의 AI 기반 게이트웨이 역할을 하여 Unity 프로젝트에 대한 원활한 자동화와 지능적인 제어를 지원합니다. MCP 서버 및 클라이언트와 통합되어 AI 에이전트 또는 외부 도구가 Unity 환경과 상호 작용하여 게임 오브젝트, 컴포넌트, 에셋, 씬 등을 생성, 수정 및 관리할 수 있도록 지원합니다.

이 시스템은 확장성이 뛰어납니다. Unity 프로젝트 코드베이스에서 직접 사용자 지정 tool 를 정의하여 AI 또는 자동화 클라이언트에 새로운 기능을 제공할 수 있습니다. 따라서 Unity-MCP는 고급 워크플로 구축, 신속한 프로토타입 제작 또는 AI 기반 기능을 개발 프로세스에 통합하기 위한 유연한 기반을 제공합니다.

AI 도구

게임 객체

  • ✅ 만들기
  • ✅ 파괴하다
  • ✅ 찾기
  • 🔲 수정
게임 객체.구성 요소
  • ✅ 구성 요소 추가
  • ✅ 구성 요소 파괴
  • ✅ 구성 요소 수정
    • Field 설정 값
    • Property 설정 값
    • Reference 링크 세트

요소

  • ✅ 모두 받기

프리팹

  • ✅ 인스턴스화
  • 🔲 장면에서 생성

편집자

  • 🔲 테스트 실행
  • 🔲 편집기에서 플레이모드 시작/중지

자산

  • ✅ 검색
  • ✅ 새로고침
  • 🔲 가져오기
  • 🔲 읽기

장면

  • ✅ 계층 구조 가져오기
  • 🔲 장면 만들기
  • 🔲 장면 저장
  • 🔲 오픈씬

재료

  • 🔲 만들기
  • 🔲 업데이트
  • ✅ 게임 객체의 구성 요소에 할당

스크립트

  • 🔲 만들기

범례: ✅ = 구현 및 사용 가능 🔲 = 계획됨/아직 구현되지 않음

설치

  1. .NET 9.0 설치
  2. OpenUPM-CLI 설치
  • Unity 프로젝트 폴더에서 명령줄 열기
  • 명령을 실행하세요

지엑스피1

용법

  1. 이동 👉 Window/AI Connector (Unity-MCP) .
  2. MCP 클라이언트에서 구성을 클릭합니다.
  3. MCP 클라이언트를 다시 시작합니다.
  4. 재시작 후 AI Connector "연결됨"인지 확인하세요.

사용자 정의 tool 추가

⚠️ 아직 지원되지 않습니다. MCP 서버용 csharp-sdk 에 차단 문제가 있습니다. 해결을 기다리는 중입니다.

Unity-MCP는 프로젝트 소유자의 맞춤형 tool 개발을 지원하도록 설계되었습니다. MCP 서버는 Unity 플러그인에서 데이터를 가져와 클라이언트에 노출합니다. 따라서 MCP 통신망에 있는 모든 사용자는 새 tool 에 대한 정보를 받게 됩니다. LLM은 어느 시점에 호출할지 결정할 수 있습니다.

사용자 정의 tool 추가하려면 다음이 필요합니다.

  1. McpPluginToolType 속성이 있는 클래스를 갖습니다.
  2. McpPluginTool 속성이 있는 클래스에 메서드를 갖습니다.
  3. [선택 사항] LLM에서 이해할 수 있도록 각 메서드 인수에 Description 속성을 추가합니다.
  4. [선택 사항] string? optional = null 속성을 ? 와 기본값과 함께 사용하여 LLM에 대한 optional 으로 표시합니다.

=> MainThread.Run(() => 줄을 살펴보세요. 이 줄은 Unity API와 상호 작용하는 데 필요한 코드를 메인 스레드에서 실행할 수 있도록 해줍니다. 메인 스레드가 필요하지 않고 도구를 백그라운드 스레드에서 실행해도 괜찮다면 효율성을 위해 메인 스레드를 사용하지 마세요.

[McpPluginToolType] public class Tool_GameObject { [McpPluginTool ( "GameObject_Create", Title = "Create a new GameObject", Description = "Create a new GameObject." )] public string Create ( [Description("Path to the GameObject (excluding the name of the GameObject).")] string path, [Description("Name of the GameObject.")] string name ) => MainThread.Run(() => { var targetParent = string.IsNullOrEmpty(path) ? null : GameObject.Find(path); if (targetParent == null && !string.IsNullOrEmpty(path)) return $"[Error] Parent GameObject '{path}' not found."; var go = new GameObject(name); go.transform.position = new Vector3(0, 0, 0); go.transform.rotation = Quaternion.identity; go.transform.localScale = new Vector3(1, 1, 1); if (targetParent != null) go.transform.SetParent(targetParent.transform, false); EditorUtility.SetDirty(go); EditorApplication.RepaintHierarchyWindow(); return $"[Success] Created GameObject '{name}' at path '{path}'."; }); }

기부금

프로젝트에 새로운 tool 자유롭게 추가하세요.

  1. 프로젝트를 포크하세요.
  2. 포크된 저장소에 새로운 tool 구현합니다.
  3. 원래 Unity-MCP 저장소에 풀 리퀘스트를 생성합니다.
-
security - not tested
A
license - permissive license
-
quality - not tested

Unity 프로젝트에 대한 원활한 자동화 및 지능형 제어 기능을 제공합니다. MCP 서버 및 클라이언트와 통합되어 AI 에이전트 또는 외부 도구가 Unity 환경과 상호 작용하여 게임 오브젝트, 컴포넌트, 에셋, 씬 등을 생성, 수정 및 관리할 수 있습니다.

  1. AI Tools
    1. GameObject
    2. Component
    3. Prefabs
    4. Editor
    5. Assets
    6. Scene
    7. Materials
    8. Scripts
  2. Installation
    1. Usage
      1. Add custom tool
        1. Contribution
          ID: 9jn15xt5xm