Unity MCP — способ связать ИИ-агента с редактором Unity через MCP-сервер, который предоставляет инструменты чтения и изменения проекта. Для пилота берут community-сервер либо пишут собственный узкий мост, открывают копию сцены и разрешают одну проверяемую операцию. Разработчик затем смотрит изменённые файлы, проверяет сцену в редакторе и принимает результат вручную; качество проекта подтверждают просмотром и тестом.
Место моста
MCP-сервер между агентом и Unity предоставляет явные инструменты для работы с редактором. Первый тест лучше ограничить чтением тестовой сцены и одной обратимой правкой, после которой человек проверяет файлы и поведение проекта.
Под названием Unity MCP встречаются разные community-проекты. Один из них, KitWright MCP for Unity, публикует мост внутри Unity Editor и настройки для нескольких MCP-клиентов. Его README описывает чтение и изменение сцены, выполнение проверок и другие возможности. Это репозиторий стороннего разработчика; версия, поддержка и набор инструментов зависят от выбранного сервера. Представлять его как единый официальный сервер Unity нельзя.
Для проекта полезно разделить агента, MCP-сервер и сам редактор. Агент вызывает инструмент; сервер принимает вызов и передаёт действие редактору; Unity меняет состояние сцены или файлов. Проверка прав и границ вызова зависит от настроек конкретного сервера. Чем шире список инструментов, тем больше возможных побочных действий. Поэтому команда начинает с задач чтения и использует копию проекта. Альтернатива крупному community-мосту — собственный сервер с несколькими узкими методами под конкретную задачу.
- Клиент: какой ИИ-агент подключается к MCP.
- Сервер: код, который объявляет инструменты и принимает вызовы.
- Проект: отдельная копия папки проекта Unity или ветка репозитория.
- Действие: чтение объекта, изменение одного компонента либо запуск проверки.
- Приёмка: diff файлов, состояние сцены и результат теста.
У сайта уже есть материал про Blender MCP. Принцип границ доступа похож, но файлы проекта, редактор и проверки Unity отличаются. Переносить команды Blender в Unity нельзя; источник конкретных инструментов — README выбранного Unity-моста и его фактическая конфигурация.
Копия проекта
Перед подключением сохраните исходное состояние проекта: ветку Git, список изменённых файлов и копию сцены для эксперимента. В больших Unity-проектах изменения могут затронуть сцену, prefab, настройки пакетов и сопутствующие meta-файлы. Если рабочее дерево уже содержит ручные правки, подготовьте отдельную ветку либо копию проекта. Так восстановить исходный результат проще, чем разбирать перемешанные изменения человека и агента.
Выберите тестовую сцену с понятной структурой: несколько объектов, один компонент и простой визуальный критерий. Задача «поменять цвет одного тестового объекта» легче проверяется, чем «улучшить весь уровень». Запишите имя сцены, целевой объект, ожидаемое состояние и запрет на изменение соседних объектов. Для считывания состояния агенту достаточно инструмента просмотра; запись открывают после проверки полученного списка объектов.
- Создайте чистую ветку и тестовую копию сцены.
- Проверьте совместимость community-моста с текущим проектом и инструкцией автора.
- Подключите сервер в выбранном MCP-клиенте только к тестовой среде.
- Запросите чтение сцены и сверьте ответ с Unity Editor.
- После подтверждения откройте одну ограниченную операцию изменения.
Установка стороннего пакета в Unity меняет доверенную среду разработчика. Изучите исходный код пакета и правила компании, проверьте зависимости и условия запуска сервера. Если ИТ-служба запрещает community-пакет, собственный узкий MCP-инструмент может оказаться проще в сопровождении. В любом случае журнал должен показывать, какой метод вызвал агент и какой проект был открыт в момент действия.
Сохраните список файлов и состояние тестовой сцены до первого вызова записи. После правки эти же два источника помогут проверить границу изменений.
Права инструментов
Сначала оставьте доступными только методы чтения структуры сцены и свойств выбранного объекта, если выбранный сервер позволяет управлять набором методов. Одна инструкция агенту оставляет доступными все методы, которые публикует сервер. Запрос на изменение оформите отдельно: целевой объект, компонент, новое значение и ожидаемый побочный эффект. Если сервер предоставляет выполнение произвольного кода или команд сборки, для пилота такой инструмент лучше отключить. Команда подтверждает каждый класс действия после оценки его влияния на проект.
MCP-сервер может работать локально внутри запущенного редактора или через отдельный процесс — архитектура зависит от конкретного community-проекта. Проверьте адрес подключения, способы авторизации и доступность сети. Локальный адрес оставляет риск: другой процесс на компьютере с доступом к порту может попытаться вызвать метод. В корпоративной среде сервер запускают в пределах разрешённого рабочего места и закрывают после теста.
- Чтение: объекты и свойства только тестовой сцены.
- Запись: один объект либо компонент с явным подтверждением.
- Файлы: запрет на посторонние каталоги и секреты проекта.
- Сеть: адрес сервера и перечень клиентов, которым доступно подключение.
- Журнал: вызов, параметры, результат и решение проверяющего.
Если инструмент возвращает агенту длинный список объектов, задайте фильтр по сцене и цели. Иначе модель может выбрать одноимённый объект в другой сцене. Для предсказуемого теста укажите устойчивый идентификатор или путь объекта, если выбранный сервер поддерживает такой способ адресации. При любой неопределённости агент должен остановиться и попросить уточнение, вместо выбора первого похожего объекта.
Нужен ограниченный MCP-доступ к тестовому Unity-проекту?
Diff и проверка
После действия откройте сцену в Unity Editor и проверьте целевой объект. Затем просмотрите Git diff: сцены и связанные файлы могут содержать больше изменений, чем обещает короткий ответ агента. Если изменился prefab, убедитесь, что изменение нужно всем его экземплярам. Если затронуты настройки проекта или пакеты, верните задачу на разбор до принятия результата.
Unity предоставляет средства тестирования в Edit Mode и Play Mode; выбирайте проверку по типу задачи. Изменение сериализованного свойства требует визуальной сверки сцены, а изменение скрипта — теста логики и запуска. Для игровой механики оцените поведение в Play Mode, столкновения и ошибки консоли. Тестовая команда и версия редактора фиксируются в отчёте пилота.
- Откройте сцену и проверьте состояние выбранного объекта.
- Просмотрите все изменённые файлы, включая scene, prefab и meta.
- Запустите подходящий тест или режим проверки в Unity.
- Сравните результат с исходным критерием, включая соседние объекты.
- Примите либо откатите изменение обычными средствами контроля версий.
Автоматический ответ сервера может сообщить «успех», даже если визуальный результат оказался другим из-за наследования prefab, скрипта или состояния сцены. Поэтому результат инструментного вызова — лишь начало проверки. При расхождении сохраните параметры вызова, версию сцены и наблюдение человека. Это помогает исправить MCP-мост или формулировку задачи вместо слепого повторения той же операции.
В отчёте должны быть исходная сцена, точный вызов инструмента, изменённые файлы, скриншот состояния и итог теста. Одна фраза агента о завершении работы для merge недостаточна.
Пилот и выбор
Пилот считается полезным, если команда может воспроизвести ограниченную правку на чистой копии проекта, увидеть все изменения и вернуть исходное состояние. Для оценки запишите успешные и ошибочные вызовы, случаи выхода за границы сцены и время человеческой проверки. Чтобы оценить экономию времени, сравнивайте с обычным способом редактирования того же объекта.
Если выбранный community-сервер предлагает много инструментов, расширяйте разрешения по одному. Если корпоративная задача требует только чтения списка объектов и изменения пары свойств, собственный небольшой мост может дать более понятную поверхность доступа. Поддержку обновлений Unity и сервера назначьте конкретному инженеру. Неизвестный сторонний пакет без владельца быстро превращается в риск для репозитория.
После теста решите, подходит ли агент для этого класса правок. Сложные сцены, анимация и поведение в игре требуют просмотра человеком в редакторе; дизайнер и инженер по тестированию сохраняют свои роли. Разрешённые методы, владельца проверки и порядок отката закрепите в плане внедрения ИИ-агента. Для Unity ключевая граница — агент меняет только ту сцену и те свойства, которые команда способна проверить.
При расширении пилота сохраняйте отдельный набор контрольных сцен: простую, сцену с prefab и сцену с конфликтующими именами объектов. Один и тот же запрос должен приводить к предсказуемому выбору цели или запросу уточнения. Любую новую версию MCP-сервера прогоняйте по этим проверкам до включения в рабочий проект.
Хотите проверить MCP-доступ к своей тестовой сцене? Опишите задачу и набор разрешённых действий: на Discovery разберём границы пилота и способ ручной приёмки.