Как сделать мультиплеер в unity?
Здравствуйте, друг уверен, что для мультиплеера достаточно запустить одну сцену на двух компьютерах, а я думаю, нужна передача данных. Unity 6, для начала хочу соединить два экземпляра на одном компьютере и увидеть подключённых игроков. Движение и интернет-комнаты пока не нужны, нужен самый маленький сетевой пример.
Лучший ответ
4o
4o
Как сделать мультиплеер в unity?
Начните с локальной сетевой сессии
Одна и та же сцена в двух окнах не обменивается состоянием автоматически. Для вашего первого опыта подойдёт Netcode for GameObjects с Unity Transport. Установите совместимые версии пакетов и создайте отдельную тестовую сцену.
В сцене добавьте NetworkManager и назначьте ему транспорт Unity Transport. Создайте простой видимый префаб игрока с NetworkObject и укажите его как Player Prefab в настройках NetworkManager. Это даёт сетевому менеджеру объект, который он может создать для подключившегося клиента. Не добавляйте пока управление или сложную физику, чтобы проверить именно соединение.
Запуск двух ролей
Один экземпляр должен запускаться как Host, другой как Client. Для вызовов из кнопок можно добавить в свой MonoBehaviour два метода:
Привяжите каждый метод к соответствующей кнопке. У менеджера должен быть один ожидаемый экземпляр Singleton в сцене. В Unity Transport для локального клиента задайте адрес 127.0.0.1 и тот же порт, который использует хост.
Проверка результата
Запустите один экземпляр в Editor, второй как отдельную сборку той же сцены. Сначала включите Host, затем Client. Проверьте подключение и создание объектов через Hierarchy и журналы: одинаковые стартовые позиции могут визуально наложить два объекта друг на друга.
Это ещё не готовый сетевой игровой процесс. Синхронизация движения, права владельца, отключение клиента и соединение через интернет требуют отдельной логики. Но после такого теста у вас будет подтверждённый обмен внутри одной локальной сессии, на который можно опираться дальше.