27 августа 2026 года Epic Games анонсировала крупное обновление City Sample ― бесплатного демо-проекта с гигантским городом из техно-демки The Matrix Awakens. Главное изменение: город больше не собирается во внешнем софте, а генерируется целиком внутри Unreal Engine 5.8 процедурным фреймворком, причем строить и менять его теперь может языковая модель через встроенный в редактор MCP-сервер. В статье на сайте Unreal Engine Epic прямо называет модель, с которой работала сама: «мы использовали Claude, но вы можете взять ту, что лучше подходит вам».
Обновленный проект показали на State of Unreal 2026, а скачать его можно бесплатно с Fab, из панели Home в редакторе или через Epic Games Launcher. Редакция Incrypted разобралась, что именно изменилось, как устроена связка PCG + LLM через Unreal MCP: мы подключили Claude Code из десктопного приложения Claude к Unreal Engine 5.8 и попросили модель перестроить готовый город текстовыми командами.
- City Sample ― демо-город из The Matrix Awakens ― обновлен для Unreal Engine 5.8 и дополнен двумя новыми уровнями, которые полностью построены процедурным фреймворком PCG без внешних инструментов.
- Оригинальный город 2021 года собирался в Houdini. Новый генерируется из 18 связанных PCG-графов прямо в движке ― с неровным рельефом, изогнутыми дорогами и Nanite-растительностью из пяти видов деревьев Megaplants.
- Строить город Epic помогала языковая модель: в UE 5.8 появился экспериментальный Unreal MCP ― сервер, через который Claude, Codex, Gemini или Cursor подключаются к редактору и управляют им.
- Для LLM подготовлены специальные «скиллы»: генерация PCG-графов, shape grammar для зданий, биомы, инстансинг. Модель меняет стиль застройки, высотность, растительность, освещение и ширину дорог по текстовому запросу.
- Настраивать связку вручную почти не нужно: плагин City Sample сам включает Unreal MCP, а Claude Code по одному промпту прописывает автозапуск сервера и конфиг подключения. В гайде ниже ― полный маршрут от установки движка до трех промптов, которые превратили город в тропический, срезали небоскребы до 200 м и перенесли сцену в утреннюю Боготу.
- Проект бесплатный, но тяжелый: около 96 ГБ загрузки и более 200 ГБ на диске. Все ключевые системы имеют статус Experimental ― для продакшена Epic советует осторожность.
Две версии одного города
City Sample ― один из самых известных примеров возможностей Unreal Engine 5. В декабре 2021 года Epic показала The Matrix Awakens: An Unreal Engine 5 Experience ― интерактивную демку по мотивам «Матрицы» для консолей нового поколения. Ее огромный детализированный город с транспортом и толпами MetaHuman-персонажей затем выложили в открытый доступ как учебный проект: на нем разработчики изучали World Partition, Nanite, Lumen, Chaos, Mass AI и другие системы UE5. О том, как в том же 2021 году Epic собирала цифровых людей для этой демки, Incrypted рассказывал в обзоре MetaHuman Creator.
У оригинала было одно «но»: хотя рендерился город средствами UE5, собирался он процедурными инструментами за пределами движка ― в Houdini от SideFX. Повторить такой пайплайн могла только команда со специалистами по стороннему софту.
Обновление меняет ровно это. Новая версия города, как говорится в анонсе, «построена целиком в Unreal Engine» ― на фреймворке Procedural Content Generation (PCG) и новом экспериментальном плагине PCG Primitives, который Epic описывает как «библиотеку примитивов и примеров для построения миров». Вдобавок новый город сложнее оригинала: он лежит на неровном рельефе, дороги и тротуары изгибаются, а улицы заросли лиственными деревьями и целыми лесами ― раньше подобное процедурной версии было недоступно.
Что входит в обновление
Состав проекта теперь такой: оригинальный уровень, собранный в Houdini, остался на месте, а рядом появились два новых. По документации, это полный процедурный город L_CitySamplePCG_Demo, который генерируется из 18 взаимосвязанных PCG-графов ― от рельефа PCG_1_1_Terrain и фоновых гор до районов, дорог, шоссе, парковок, зданий и крыш, ― и упрощенный уровень CitySample_Generator_steps, где город строится последовательностью зависимых графов, чтобы каждую фазу можно было изучать и переделывать отдельно.
- примеры PCG-графов, показывающие процедурную пересборку города шаг за шагом ― они же служат эталонными референсами для MCP-сервера;
- пять видов деревьев Megaplants, которыми засажен весь процедурный город;
- библиотека PCG Assembly ― готовые конфигурации статик-мешей для крышных площадок и пирсов;
- наборы shape grammar ― правил, по которым из выбранных пресетов быстро собираются здания и дороги;
- отдельный PCG-подграф, спроектированный именно под генерацию зданий City Sample.
Все PCG-графы и ассеты упакованы в плагин CitySamplePCG (в документации Epic он же фигурирует как CitySamplePCG_demo) ― с ним город можно воспроизвести в собственном проекте. Сэмпл опирается на ряд систем в статусе Experimental и Beta, часть которых по умолчанию выключена ― например, Nanite Foliage для растительности может потребоваться включить вручную на уровне проекта.
Unreal MCP: нейросеть получает доступ к редактору
Вторая половина анонса ― про то, кто этот город строил. В Unreal Engine 5.8, который Epic представила на State of Unreal 17 июня 2026 года, появился экспериментальный Unreal MCP ― сервер протокола Model Context Protocol, встроенный прямо в процесс редактора. Через него любой MCP-совместимый ИИ-агент подключается к Unreal Editor и управляет им: спаунит акторов, настраивает свет, создает материалы, правит сцену. В том же анонсе Epic подчеркнула, что «интерфейс открытый, как и выбор модели: стройте с Claude, Gemini или любой другой», а 5.8 назвала последним запланированным крупным релизом UE5 ― ранний доступ к UE6 намечен на конец 2027 года.
Работает это так: в редакторе включаются плагины Unreal MCP и All Toolsets, после чего сервер поднимается на локальном адресе 127.0.0.1:8000. Дальше агент запускается из корня проекта и видит инструменты редактора как обычные MCP-тулы. По умолчанию включен режим Tool Search: вместо сотен схем модель получает три мета-инструмента ― list_toolsets, describe_toolset и call_tool ― и подгружает нужные наборы по запросу.
Безопасность решена радикально просто: сервер принимает подключения только с локальной машины и отклоняет любые внешние запросы, но слоя аутентификации у него нет ― выставлять его наружу нельзя. Все вызовы инструментов выполняются последовательно в игровом потоке редактора, так что агент не может запустить два конфликтующих действия одновременно.
PCG как язык, на котором LLM описывает мир
Ключевая идея, вокруг которой построен обновленный City Sample: языковой модели не нужно расставлять миллионы объектов по одному ― она пишет правила, а расстановкой занимается PCG. На Unreal Fest Chicago 2026 Epic показала доклад о том, как LLM использует PCG в качестве своего «пространственного языка», опираясь на плагин PCG Primitives с готовыми примерами дорог, зданий, лесов и парков.
Для этого в MCP-сервер добавлен набор PCG-скиллов ― пакетов контекста, которые объясняют модели, как устроен фреймворк. Основной, Skill_PCGGraphGeneration, отвечает за задачи с повторяемыми правилами: рассадить растительность, заполнить кварталы, проложить дорожную сеть. Рядом ― скилл shape grammar для фасадов и уличной обстановки, скиллы для террейна на основе Mesh Partition, поверхностной детализации и биомов. Загрузка скилла ― обязательная часть настройки сессии: без него, честно предупреждает Epic, модель «неправильно понимает концепции PCG, переусложняет решения, путает ноды и параметры и строит ненадежную логику графов». Технически скиллы ― это объекты класса UAgentSkill внутри движка, и агент получает их через те же MCP-инструменты: ListSkills показывает доступные, GetSkills отдает инструкции выбранного.
При этом Epic описывает процесс как «супервизируемую коллаборацию», а не автономную работу агента. Рекомендованный workflow ― девять шагов, где человек вручную выделяет нужные ассеты в Content Browser, просит модель сначала изучить референсные графы и объяснить план, выполняет изменения инкрементально и прерывает неверные действия на ранней стадии. Для тяжелых операций вроде инспекции атрибутов тысяч PCG-точек предусмотрен отдельный режим Data View ― обработка идет вне контекстного окна модели и экономит токены.
Гайд: подключаем Claude Code к Unreal Engine 5.8
Claude Code ― первый в списке клиентов, для которых Epic генерирует конфигурацию Unreal MCP. Мы работали именно там: не нужна командная строка, каждое действие модели видно в чате, а результат ― сразу во вьюпорте редактора. Больше того, настройку связки мы поручили самому Claude: вместо ручной правки конфигов ― один промпт со ссылкой на документацию. Ниже ― весь маршрут по шагам.
Шаг 1: Устанавливаем Unreal Engine 5.8
Unreal MCP и новые уровни City Sample требуют именно версии 5.8 ― в 5.7 и старше их нет. Откройте Epic Games Launcher, перейдите на вкладку Unreal Engine → Library, нажмите «+» рядом с Engine Versions и выберите 5.8 (на момент публикации актуальна сборка 5.8.2). Компилировать движок из исходников не нужно ― Unreal MCP работает в обычной бинарной сборке. Если у вас уже стоит более старая версия, 5.8 установится рядом и не затронет существующие проекты.
Установка занимает 50-60 ГБ и от получаса до нескольких часов в зависимости от канала. Пока движок качается, можно заняться следующим шагом.
Шаг 2: Забираем City Sample с Fab
Проект распространяется бесплатно, но путь к нему лежит через магазин ассетов Fab. Откройте страницу City Sample и нажмите Add to My Library ― в карточке справа видно, что последнее обновление датировано 27 августа 2026 года.
После добавления кнопка сменится на Saved in My Library, а рядом появится View in Launcher. Нажмите ее.
Браузер попросит разрешение открыть Epic Games Launcher.
В лаунчере откроется встроенная панель Fab с той же карточкой. Нажмите Create project.
В окне Choose Project Name and Location задайте имя и папку проекта и обязательно проверьте поле Select Version of the Engine for Project: по умолчанию лаунчер может подставить старую версию ― переключите ее на 5.8, иначе PCG-уровней и Unreal MCP в проекте не будет.
Дальше ― долгая загрузка. Лаунчер скачает около 96 ГБ, а после распаковки проект займет более 200 ГБ на диске, так что заранее освободите место на SSD.
После установки в библиотеке видно реальный размер проекта ― 205,58 ГБ на диске.
Когда загрузка закончится, проект появится в разделе My Projects лаунчера.
Шаг 3: Поручаем настройку Claude Code
Откройте десктопное приложение Claude, перейдите во вкладку Code и выберите папку проекта ― ту, где лежит файл CitySample.uproject. Это важно: Claude Code читает конфигурацию MCP-серверов из файла .mcp.json в корне открытой папки, и сессия, запущенная из другого места, сервер не увидит. Дальше ― один промпт со ссылкой на документацию.
Дальше Claude действует сам, и это самая любопытная часть теста. Он читает документацию, проверяет состояние проекта и явно прописывает плагины ModelContextProtocol и AllToolsets в CitySample.uproject. Затем запрашивает доступ к рабочему столу ― единственный момент, где от человека требуется выдать новое разрешение, ― находит окно редактора, делает скриншот, находит поле консоли Cmd в нижней панели и сам вводит туда команду ModelContextProtocol.StartServer.
После этого модель проверяет связку: убеждается, что порт 8000 слушает, проводит MCP-рукопожатие по HTTP, запрашивает список инструментов и делает пробный вызов реального инструмента. Автозапуск сервера она включает через MCP-тулсет настроек редактора ― изменение ложится в EditorPerProjectUserSettings.ini. Наконец, Claude создает .mcp.json в корне проекта ― в том формате, который генерирует консольная команда Epic ModelContextProtocol.GenerateClientConfig ClaudeCode.
В финальном отчете ― таблица проверок: порт 8000 слушает, рукопожатие прошло, tools/list вернул три мета-инструмента, через list_toolsets доступны 52 тулсета, пробный вызов SetSectionProperties выполнен. И одно предупреждение: сессия Claude Code стартовала раньше, чем появился сервер, поэтому инструменты unreal-mcp появятся только после ее перезапуска.
Каждую правку файлов и каждое действие на рабочем столе Claude Code показывает ― для первого раза стоит просмотреть, чтобы понимать, что именно меняется в проекте.
Шаг 4: Перезапускаем сессию и открываем город
Откройте уровень L_CitySamplePCG_Demo первый и дождитесь, пока во вьюпорте появится застройка: World Partition подгружает ячейки, PCG-компоненты проверяют кеш.
Исходное состояние города: площадь и дворы засажены деревьями умеренного пояса из набора Megaplants.
Шаг 5: Загружаем PCG-скилл и читаем графы
Epic называет загрузку скилла обязательной частью настройки сессии, и мы совместили ее с первым чтением проекта ― чтобы сразу увидеть, насколько модель понимает, с чем имеет дело.
За три десятка вызовов инструментов модель получает список из 22 скиллов, зарегистрированных в редакторе.
Дальше Claude читает графы: Districts ― целиком, Roads, Lots и Buildings ― в сжатом виде (структуры оказались слишком велики, и модель свернула их скриптом до списка нод с типами и параметрами), остальные 14 ― по описаниям. Итоговое объяснение точно воспроизводит конвейер: терраформинг острова и фоновая застройка, два ручных футпринта (башня-гексагон и Центральный парк), нарезка города артериями на районы и кварталы с дорогами трех категорий, вычитание дорог и парка из лотов, назначение стилей зданий по классам районов, крыши, пирсы и внешний лес, редеющий к воде.
Со скиллом в контексте и прочитанными графами можно переходить к главному ― перестраивать город словами.
Демо: перестраиваем город промптами
Все правки вносятся в параметры PCG-графов, поэтому город остается полностью редактируемым вручную ― никакого запеченного результата.
Тропическая растительность
Первый запрос ― самый короткий и, как оказалось, самый долгий в исполнении.
Claude сначала выясняет, где живет растительность: все деревья города ― пять видов умеренного пояса из Megaplants (черная ольха, лещина, европейский бук, клен остролистный и осина), назначенные в трех графах ― Outer Forest, Central Park и Leftover Lots. И упирается в блокер: тропических растений на машине нет ни в проекте, ни в плагине, ни в локальной библиотеке Megascans. Просто перетасовать параметры нод ― получится та же ольха. Поэтому модель останавливается и предлагает план: скачать бесплатные тропические паки с Fab, объемом 2-4 ГБ, ― но, поскольку это загрузка из внешнего сервиса, просит явного «да».
После ответа «yes, download from Fab» начинается эпизод, ради которого стоило затевать тест. В Unreal MCP нет тулсета для Fab, поэтому Claude управляет окном Fab внутри редактора через рабочий стол: нажимает кнопку Fab в Content Browser, ставит фильтр Free, читает карточки, открывает лицензионный селектор, выбирает бесплатный Personal-тариф и жмет Add to Project. На первом же паке Fab показывает лицензионное соглашение ― и модель снова останавливается: «это юридическое соглашение на вашем аккаунте, поэтому я оставил диалог открытым». Принимаем его сами или командой «accept the Fab EULA» ― и загрузка идет.
Дальше Claude ведет себя как внимательный ассет-менеджер: берет Palms Pack 01 (12 вариантов пальм от 1,3 до 9,2 м плюс подлесок и трава), Tropical Vegetation: Pandanus Plants от Project Nature (пак не помечен для 5.8 ― модель принимает ближайшую версию 5.4, справедливо рассудив, что статик-меши переносятся без проблем), а также Alexandra Palm от Quixel и Banana Plants (эти два в итоге в графы не пошли ― первый оказался подлеском полутораметровой высоты, второй импортировался единым мешем), а вот наборы в «сыром» FBX/glTF, сделанные под Blender, пропускает ― им понадобилась бы ручная настройка материалов. Затем измеряет каждый новый меш скриптом, делит их на пальмы-канопи, средний ярус и почвопокровные и правит 13 нод назначения ассетов в трех графах, поднимая плотность внешнего леса с 0,05 до 0,07 дерева на квадратный метр ― кроны пальм уже ольховых. После пробных снимков вьюпорта убирает вариант «сухая пальма» и «заросли», которые издалека читались как мертвые деревья.
Попутно модель починила ошибку, которая была в проекте до нее: четыре ноды в графах внешнего леса и остаточных лотов ссылались на несуществующую текстуру шума, из-за чего эти графы не генерировались вовсе, ― Claude нашел ту же текстуру под другим именем и перенаправил ссылки. Три объема растительности перегенерированы без ошибок.
Ограничение высоты застройки
Второй запрос ― про силуэт города, и здесь модели пришлось разбираться с числами.
Claude трассирует, откуда берется высота, и находит три независимых источника. У обычных зданий MaxHeight читается из текстуры шума и умножается на коэффициент зоны высоток до 5 ― в сумме до 370 м, а сложные здания добавляют сверху еще три яруса. Главная башня ― отдельный граф: основание плюс ярусы, причем каждая из трех «рук» башни ― четыре одинаковых яруса, так что «90-метровая» рука на деле достигала 352 м, а вся конструкция ― 481 м. Наконец, фоновый скайлайн ― меши, равномерно отмасштабированные в 100 раз, до 295 м.
Правки соответствующие: в графе зданий ― общая константа и пять нод-ограничителей на 180 м во всех точках, где футпринты попадают в назначение зданий (сложные здания с их ярусами заканчиваются метров на десять выше); в графе башни ― ярусы рук урезаны до 47, 42 и 37 м, средние до 30 м, верхний блок до 60 м; у фона Z-масштаб снижен до 60 с поправкой позиции, чтобы верх был на 198 м. Заодно модель заметила, что кольцо деревьев вокруг башни осталось ольховым с прошлого шага, и заменила его на те же пальмы.
Самое интересное ― в процессе. Правка графа автоматически запускает регенерацию, и явные вызовы Claude на регенерацию в это время отклоняются. Модель дважды натыкается на это, читает лог редактора, понимает закономерность и добавляет фоновую команду «ждать, пока лог не затихнет на 25 секунд», прежде чем повторять вызов. После регенерации она измеряет каждую группу зданий от собственного основания и сводит в таблицу: обычные крупные ― 176,8 м, сложные ― 190,1 м, средний район ― 147,8 м, малый ― 39,8 м, руки башни ― 176, 160 и 144 м, антенна ― около 193 м, фон ― 198 м.
Для отчета Claude делает два снимка с камерой ровно на высоте 200 м и нулевым наклоном.
Свет как в Боготе в девять утра
Третий запрос не трогает PCG, а работает с освещением ― и показывает, что скиллы в редакторе есть не только для процедурной генерации.
Claude загружает скилл уличного освещения из реестра редактора, находит световые акторы уровня и вычисляет истинное положение солнца для Боготы на эту дату и время, после чего применяет изменения к источникам света, проверяет плотность и покрытие облачного материала и снимает результат той же камерой, что и исходную сцену, ― чтобы сравнение было честным.
Ограничения, о которых стоит знать заранее
Связка впечатляет, но у нее хватает острых углов ― часть из них признает сама Epic, часть проявилась в процессе теста.
Все экспериментальное. И Unreal MCP, и PCG Primitives, и ключевые системы сэмпла носят статус Experimental: API и форматы данных могут измениться в любой момент, а использовать их в отгружаемых проектах Epic советует с осторожностью.
Железо и объем. City Sample ― один из самых тяжелых учебных проектов Epic: 96 ГБ загрузки, более 200 ГБ на диске, а для оригинального сэмпла компания рекомендовала 12-ядерный процессор на 3,4 ГГц, 64 ГБ оперативной памяти и видеокарту уровня GeForce RTX 2080 с 8 ГБ VRAM. Упрощенный уровень CitySample_Generator_steps существует ровно для того, чтобы разобраться в механике без такой нагрузки.
Только локально и только с редактором. Сервер живет внутри процесса Unreal Editor: закрыли проект ― соединение пропало, а сессию Claude Code нужно открывать строго из папки проекта, иначе .mcp.json не подхватится. Аутентификации у сервера нет, порт 8000 слушает только локальную машину ― это защита, но одновременно и ограничение: удаленно, с ноутбука к рабочей станции, связка не работает.
LLM не автопилот. Документация настойчиво повторяет: модель надежна только внутри четко поставленных задач, с референсами и под присмотром. Сложные правки графов требуют понимания того, как PCG работает, ― проверить качество результата без этого не выйдет. В нашем тесте модель дважды останавливалась сама ― перед загрузкой из внешнего сервиса и перед принятием лицензионного соглашения ― и это правильное поведение, но оно означает, что оставить ее наедине с задачей не получится.
Регенерация мешает сама себе. Любая правка PCG-графа запускает автоматическую регенерацию, и пока она идет, явные вызовы регенерации отклоняются. На полном городе пересборка зданий занимает минуты, и модели приходится ждать, глядя в лог, ― Claude научился этому по ходу дела, но время сессии растет.
Стоимость токенов. Анализ больших графов и массовая инспекция ассетов ― дорогие операции: город из 18 графов способен быстро съесть контекст и лимит сообщений. Частично это лечится режимом Data View и явным выделением нужных объектов в Content Browser вместо свободного поиска по проекту.
Ни одно из ограничений не отменяет главного: связка работает у обычного пользователя на обычном ПК, без сборки движка из исходников и без API-ключей.
Слова становятся мирами
Обновленный City Sample ― это ответ Epic на главный вопрос про ИИ в геймдеве: не «заменит ли нейросеть художника», а «на каком языке им разговаривать». Вместо генерации готовых сцен черным ящиком компания встроила модель в существующий процедурный пайплайн: LLM пишет правила, PCG исполняет их, а результат остается полностью редактируемым ― в анонсе это сформулировано как «никаких черных ящиков и волшебных таблеток, только ваш творческий замысел, усиленный и ускоренный».
Симптоматичен и сам жест: в 2021 году городом из «Матрицы» Epic демонстрировала мощь Nanite и Lumen, в 2026-м тем же городом ― работу связки PCG + MCP + Claude. Официальный MCP-сервер в одном из двух главных игровых движков означает, что агентные инструменты перестают быть надстройкой энтузиастов и становятся частью стандартного инструментария разработчика. О том, как та же логика работает в 3D-редакторе, Incrypted рассказывал в гайде по связке Claude и Blender, а базовые приемы работы с моделью Anthropic ― в большом гайде по Claude. City Sample поднимает эту планку до города на миллионы объектов ― и, как показал наш тест, для него хватает десктопного приложения Claude, одного промпта на настройку и трех на перестройку.
Сообщение Гайд по связке Claude + Unreal Engine 5.8 появились сначала на INCRYPTED.