Бесплатная консультация
← Все статьи

Как передать разработку игры на Unity внешней команде

Как передать Unity-проект внешней команде: репозиторий, билд, документация, ветки, code review и процессы для быстрого старта разработки.

Unity разработчики работают над игровым проектом на аутсорсе

Аутсорс разработки Unity хорошо работает там, где проект можно разделить на понятные зоны ответственности. Внешней команде необязательно отдавать всю игру: она может взять gameplay-систему, UI, multiplayer, оптимизацию, портирование или определённый этап подготовки к релизу.

Но передача уже существующего Unity-проекта отличается от разработки с нуля.

Недостаточно отправить репозиторий и список задач. Нужно зафиксировать версию Unity, зависимости, правила работы с Git, способ получения сборки и границы, в которых подрядчик может менять архитектуру.

Если это подготовлено заранее, новая команда довольно быстро включается в production. Если нет, первая неделя легко уходит на missing packages, несовпадающие версии проекта и поиск человека, который знает, почему конкретную систему нельзя трогать.

Почему Unity удобен для аутсорс-разработки

Unity часто выбирают для проектов, которые нужно развивать сразу на нескольких платформах или быстро масштабировать командой.

Для аутсорса особенно удобно, что проект обычно можно разделить на относительно самостоятельные технические направления.

Например, основной состав продолжает заниматься core gameplay, а внешняя команда получает UI, tools или отдельную сетевую функциональность.

Другой сценарий — игра уже работает, но команде нужен дополнительный ресурс перед релизом. Тогда подрядчик подключается к optimization, bug fixing или platform-specific задачам.

NoPanic Studio работает с Unity именно в таком формате: можно передать разработку целиком или отдельную систему— gameplay, UI, tools, networking, optimization, porting и release engineering.

То есть Unity-аутсорс не обязательно означает «отдать игру другой студии». Чаще речь идёт о том, чтобы выделить конкретную техническую ответственность и разгрузить внутренний production.

Какие задачи можно передать внешней Unity-команде

Хорошо передаются задачи, у которых можно определить входные данные и ожидаемый результат.

Разработчики за игровыми компьютерами

Например, подрядчик может получить систему инвентаря вместе с требованиями к UI и сохранениям. Или multiplayer-блок с lobby, matchmaking и reconnect.

Отдельно удобно передавать optimization. В таком случае команда сначала профилирует scripts, rendering, memory, assets и загрузки, затем согласует список изменений.

Ещё один типичный сценарий — porting. Основная игра уже готова, а внешний состав занимается platform layer, сборками, адаптацией управления и требованиями конкретного store.

NoPanic отдельно заявляет для Unity gameplay systems, UI и editor tools, multiplayer, profiling и подготовку платформенных сборок.

При этом не каждую работу нужно искусственно отделять.

Если внешний разработчик каждый день должен участвовать в решениях внутреннего tech lead и переключаться между разными системами, иногда проще подключить отдельных специалистов непосредственно в текущую команду.

Сначала зафиксируйте версию Unity и зависимости

Для существующего проекта это один из первых вопросов.

Многомониторная станция разработчика с подсветкой

«Проект на Unity» недостаточно.

Команде нужна точная версия редактора. Даже переход между близкими версиями может затронуть packages, shaders, rendering или поведение сторонних plugins.

Если используется URP или HDRP, это тоже должно быть понятно на старте.

То же касается Package Manager и внешних зависимостей. Какие packages установлены? Есть ли private packages? Используются ли Asset Store plugins? Есть ли внутренние библиотеки компании?

Внешняя команда должна иметь возможность клонировать репозиторий и получить рабочий проект по инструкции, а не собирать окружение по сообщениям в чате.

Если для первого запуска требуется два дня переписки с несколькими разработчиками, проблема обычно находится не в скорости подрядчика, а в качестве handover.

Что подготовить перед передачей Unity-проекта

Главный материал — актуальный репозиторий.

Но сам по себе код не объясняет состояние проекта.

Нужен хотя бы один рабочий build, который команда может использовать как точку отсчёта. Если текущая ветка собирается иначе, чем версия, которую видит заказчик, лучше выяснить это до начала новых задач.

Полезна и короткая техническая документация. Не обязательно описывать каждый класс. Гораздо важнее дать внешней команде карту проекта: где находятся основные системы, какие решения считаются стабильными и какие области сейчас активно меняются.

Backlog также должен отражать реальную работу.

Задача «оптимизировать игру» плохо подходит для старта. Гораздо понятнее конкретная проблема: например, снизить пики памяти на определённой платформе или разобраться с просадкой FPS в конкретной сцене.

NoPanic начинает работу с существующими Unity-проектами именно с билда, документации, backlog и целей ближайшего релиза.

Определите, кому принадлежит конкретная система

Самая неприятная ситуация — когда внутренний и внешний разработчики одновременно активно меняют одну и ту же часть проекта.

Разработчик в наушниках за монитором

Количество merge conflicts быстро растёт, архитектурные решения расходятся, а через несколько недель становится сложно понять, кто отвечает за результат.

Поэтому ownership стоит определить до первого спринта.

Например, внешняя команда отвечает за UI и связанные editor tools. Или полностью забирает networking. Или работает только с optimization, не меняя gameplay architecture без согласования.

Это не означает запрет на взаимодействие между командами.

Наоборот, они могут регулярно обсуждать интеграцию. Но финальная ответственность за каждую крупную область должна быть понятна.

Как настроить ветки и code review

Не стоит заставлять подрядчика работать по абстрактному «правильному Git Flow», если внутри проекта уже есть собственный процесс.

Внешняя команда должна встроиться в существующие правила.

Если production работает через feature branches и pull requests, подрядчик использует тот же подход. Если есть develop/release branches или специальные правила hotfix, их нужно передать при onboarding.

Важнее всего заранее определить review.

Какие изменения внешний tech lead может принимать самостоятельно? Какие должны пройти внутреннего lead-разработчика? Нужно ли согласовывать изменения публичных interfaces или core architecture?

Если все pull request проходят через одного перегруженного сотрудника заказчика, внешняя команда быстро начнёт ждать review.

Поэтому контроль нужен, но он не должен превращаться в bottleneck.

Регулярный playable build важнее статуса задачи

Для Unity-проекта один из лучших способов контролировать внешний production — регулярно получать рабочую сборку.

Программист за клавиатурой в тёмной комнате

Задача может быть закрыта в tracker, но оставаться не полностью интегрированной.

Build показывает реальность.

Работает ли механика вместе с другими системами? Не выросло ли время загрузки? Не появились ли новые ошибки на целевом устройстве?

Если подрядчик занимается отдельным направлением, желательно договориться, как часто его изменения попадают в общую сборку.

NoPanic описывает Unity-процесс через спринты, регулярные playable builds, демо и отчёты по рискам.

Так заказчик видит не только количество закрытых задач, но и реальное состояние продукта.

Как встроить внешнюю команду в существующий production

Задача аутсорса — усилить текущий процесс, а не заставить студию перестроить его вокруг подрядчика.

Поэтому имеет смысл сохранить привычный task tracker, систему документации и основной формат коммуникации.

Внешней команде нужно понимать, где задавать технические вопросы и кто принимает решения со стороны заказчика.

При этом не стоит подключать каждого внешнего разработчика ко всем внутренним встречам.

Если у направления есть свой lead, большая часть коммуникации может проходить через него. Это снижает нагрузку на core team.

Для студии смысл аутсорса как раз в том, чтобы получить дополнительную производственную мощность без необходимости ежедневно управлять ещё несколькими людьми.

Типичные риски Unity-аутсорса

Один из самых неприятных рисков — скрытые зависимости.

Специалист за монитором с открытым редактором

Например, система выглядит самостоятельной, но на практике завязана на старый singleton, собственный framework или пакет, который давно перестал поддерживаться.

Поэтому перед крупным scope полезен короткий технический аудит.

Вторая проблема — бесконтрольные архитектурные изменения. Внешняя команда может предложить хорошее решение локальной задачи, которое при этом плохо вписывается в общий roadmap проекта.

Такие решения стоит отдельно согласовывать.

Третий риск связан с performance.

Функция может прекрасно работать на компьютере разработчика и плохо вести себя на целевом mobile-device или консоли. Поэтому ранние сборки нужно проверять именно в реальном окружении.

Если проект уже накопил заметный технический долг,иногда разумнее начать не с feature development, а с анализа существующей игры.

Не откладывайте QA до конца работы подрядчика

Если внешняя команда получает большой блок разработки, тестирование должно происходить параллельно.

Особенно это касается networking, сохранений, platform integrations и изменений, способных затронуть существующие функции.

Разработчик не должен быть единственным человеком, который проверяет собственную задачу.

QA можно оставить внутри компании или выделить отдельным внешним направлением.

Главное — определить критерии готовности до того, как задача попадёт на финальную приёмку.

Тогда «готово» означает не просто наличие кода, а проверяемый результат в нужной сборке.

Как NoPanic Studio работает с Unity-проектами

Подключение начинается с текущего состояния продукта.

Если проект уже существует, команда изучает билд, документацию, backlog, зависимости и цели ближайшего релиза. Затем фиксируется scope и зона ownership.

После этого под задачу собирается нужный состав.

Для одного проекта достаточно экспертного спринта на несколько недель. Для другого нужна выделенная команда, которая несколько месяцев отвечает за конкретное направление.

Разработка может идти в инфраструктуре заказчика или на стороне команды, но итогом остаются регулярные playable builds, документация и понятная передача результата. NoPanic отдельно указывает, что код, документация и pipeline остаются у заказчика.

Поэтому подключение к Unity-проекту может происходить практически на любой стадии: от прототипа до active production, подготовки к релизу и дальнейшей поддержки.

Чек-лист: что нужно для старта Unity-аутсорса

Перед подключением команды желательно подготовить:

Точную версию Unity и информацию о render pipeline.

Актуальный репозиторий и правила работы с ветками.

Список packages, plugins и внутренних зависимостей.

Рабочий build проекта.

Backlog или описание конкретной зоны, которую нужно передать.

Короткую техническую документацию по связанным системам.

Требования к целевым платформам и производительности.

Правила code review и человека, который принимает ключевые технические решения.

Критерии готовности задач.

Необходимые доступы к CI, аналитике, backend или другим сервисам — только в объёме, который действительно нужен команде.

Если чего-то из этого пока нет, это не мешает начать разговор. Но чем лучше подготовлен handover, тем меньше оплачиваемого времени уйдёт на восстановление контекста.

Что прислать для оценки Unity-проекта

Для первой оценки не нужен идеальный пакет документации.

Если игра уже работает, самое полезное — актуальный build и короткое описание проблемы.

Например: нужно подключить двух разработчиков для gameplay до релиза; перенести проект на новую версию Unity; оптимизировать Android-build; подготовить port; закончить multiplayer.

Если есть техническое задание, backlog или документация, их стоит приложить.

Для сложного существующего проекта может понадобиться доступ к репозиторию после NDA. Это позволит оценивать не только желаемый результат, но и состояние кодовой базы.

NoPanic на основном сайте также указывает, что для первого обращения достаточно показать текущий билд, материалы и место, где проект начал буксовать; после инспекции команда оценивает состав, сроки и смету.

Итоги

Передать проект на Unity внешней команде можно практически на любой стадии разработки.

Но хороший старт требует чуть больше, чем доступ к Git.

Нужно зафиксировать версию Unity, зависимости, целевые платформы, ownership и правила интеграции. Внешняя команда должна понимать, какой результат от неё ожидается и какие части проекта нельзя менять без согласования.

При этом заказчику не нужно управлять каждым внешним разработчиком отдельно.

Если зона ответственности определена правильно, подрядчик берёт на себя production внутри неё, а внутренняя команда сохраняет контроль через code review, backlog, регулярные билды и согласованные критерии готовности.

Так аутсорс разработки Unity становится не дополнительным слоем менеджмента, а способом ускорить конкретное направление проекта.

Пришлите описание проекта и билд — оценим объём и сроки.

Следующая статьяАутсорс-разработка на Unreal Engine: риски, процессы и контроль результата
→