Бесплатный сетевой движок для добавления мультиплеера в ваш проект Unity
Ключевые особенности
- Высокопроизводительный сетевой движок с побитовой передачей данных, дельта‑сжатием и уровнями детализации (LOD) для минимизации трафика и задержек
- Гибкие модели авторитета: клиентская, серверная, серверная с предсказанием, передача авторитета (request/steal), распределённая и экспериментальная детерминированная с откатом (rollback)
- Устойчивость и репликация: автоматическое сохранение состояния, балансировка нагрузки и персистентные миры
- Масштабируемый хостинг и сервисы: облачный Dashboard, автоскейлинг серверов в разных регионах, комнаты, лобби, хранение данных, ключ‑значение
- Unity SDK: интуитивная no‑code надстройка, атрибуты [Sync]/[Command], C# Source Generators, поддержка Addressables и визуальных инструментов
- Оптимизация и профилирование: настраиваемое сжатие/квантование по полям, частота семплирования, области интереса, сетевой профайлер
- Peer‑to‑Peer: встроенная поддержка P2P‑хостинга через Steam Datagram Relay
Достоинства
- Быстрая интеграция в Unity‑проект: Verified Solution на Asset Store и готовые примеры
- Широкий выбор архитектурных моделей для любого жанра и масштаба игры
- Масштабируемость от инди‑проектов до больших виртуальных миров
- Простота освоения: понятная документация, видео‑уроки и готовые tutorial‑проекты
Недостатки
- Зависимость от облачных сервисов coherence и модель ценообразования на кредиты (credit cost & pricing)
- Поддержка только Unity LTS (минимум 2021.3.45f1, рекомендуется 2022.3 LTS и выше)
- Некоторые фичи (например, rollback) находятся в экспериментальном статусе и могут быть нестабильны
- Для P2P требуется Steam и открытые порты, что может осложнить настройку
Как начать
- Зарегистрироваться бесплатно на coherence.io (Create Your Free Account)
- Установить SDK: через Unity Asset Store или добавить Scoped Registry (io.coherence.sdk → https://registry.npmjs.org) и установить пакет в Package Manager
- Добавить в сцену компоненты: CoherenceBridge (или CoherenceNode) и CoherenceLiveQuery/CoherenceGlobalQuery для логики комнат и объектов
- Синхронизировать объекты: на префабы добавить CoherenceSync, отметить поля для репликации и задать параметры интерполяции/экстраполяции
- Подключиться в коде: вызвать Coherence.Connect("<your-game-slug>"), использовать удалённые вызовы (RPC) и реагировать на изменения состояния объектов с помощью событий
- Тестировать локально: Unity Multiplayer Play Mode или ParrelSync; деплоить в облако через Online Dashboard и проводить тесты с друзьями