Diversion предлагает альтернативу классическим системам контроля версий (Git, Perforce), фокусируясь на ключевых болях гейм‑студий: работе с огромным числом крупных файлов и конфликтами в нередактируемых бинарных ресурсах.
Работа с большими файлами и масштабом
Главная идея Diversion — убрать разделение на «большие» и «обычные» файлы и необходимость настраивать Git LFS и специальные правила трекинга. Система заявляет поддержку сценариев, типичных для игровых продакшенов:
- коммит 400 000 файлов менее чем за 30 секунд;
- клонирование репозитория с 5 млн файлов менее чем за 5 минут.
Для продакшена игр это критично: когда синк, клон или перенос ассетов занимают слишком много времени, команда перестаёт доверять пайплайну. Начинаются обходные пути — передача файлов через мессенджеры, внешние диски, ручные экспорты. Чем больше работы уходит «мимо» системы контроля версий, тем более хрупким становится весь процесс производства.
Предотвращение конфликтов, а не только их решение
В геймдеве многие ключевые файлы практически не поддаются безопасному мерджу: уровни, сцены, Blueprints в Unreal Engine, Prefab'ы в Unity. Если два человека правят один и тот же такой ресурс, велика вероятность потери части работы.
Diversion делает ставку на предотвращение конфликтов до их возникновения и встраивает это прямо в привычные инструменты:
- нативные плагины для Unreal Engine (движок для 3D‑игр и интерактивных проектов) и Unity (популярный игровой движок для 2D/3D);
- версионный контроль прямо в редакторе, без переключения в отдельные клиенты;
- в Unreal плагин предупреждает, если файл уже редактируется другим пользователем — как при открытии, так и при сохранении;
- поддержка «жёстких» блокировок (hard locks) для ассетов, которые нельзя править параллельно: один пользователь получает эксклюзивную запись до снятия блокировки.
Работа с конфликтами в Blueprints
Для Blueprints (визуальные скрипты в Unreal Engine) Diversion интегрируется со встроенным визуальным merge‑инструментом Unreal. Это позволяет решать конфликты прямо в редакторе, в визуальном виде. Однако философия продукта — минимизировать количество таких ситуаций за счёт раннего предупреждения и блокировок, а не полагаться на постфактум‑мердж.
Выводы
- Diversion устраняет необходимость делить файлы на «большие» и «обычные» и настраивать LFS/правила трекинга.
- Система ориентирована на масштаб игровых продакшенов: сотни тысяч–миллионы файлов с быстрыми коммитами и клонами.
- Ключевой фокус — предотвращение конфликтов в немержабельных ресурсах (карты, сцены, Blueprints, Prefab'ы).
- Нативные плагины для Unreal Engine и Unity встраивают контроль версий прямо в редактор.
- Поддерживаются жёсткие блокировки и визуальный мердж Blueprints через встроенный инструмент Unreal.