Unity3D для iOS и Android: мультиплеер (Bluetooth-соединение)

Я ищу способ подключения двух устройств с помощью Bluetooth в Unity iOS и Android Basic для многопользовательских игр. Я нашел:

  • AllJoyn от Qualcomm - Bluetooth работает, по-видимому, только с Root - Android-устройства и в настоящее время не с iOS.

  • iOS GameKit Local Multiplayer от prime31 - Только для iOS.

  • Bonjour Plugin от Gregzo - не Bluetooth, а другое локальное многопользовательское решение только для iOS.

  • TNet: не Bluetooth, только для Android и iOS Pro

Есть ли у кого-нибудь другое решение (особенно для Android)?

Буду благодарен за любую помощь. Также для других p2p-Unity-Solutions.

Ответ 1

Для Ships N 'Battles (мультиплатформенная многопользовательская игра Unity authored) мы создали несколько способов выполнения многопользовательской игры:

через Bluetooth (с помощью плагина Prime31)

  • IOS

Я никогда не видел игру с мультиплеер между iOS и Android с помощью Bluetooth.

через локальную сеть (используя Unity RPC)

  • IOS
  • Android
  • Mac
  • Веб (Kongregate)

Игроки могут запускать бои в локальной сети с любым из вышеперечисленных устройств: iOS vs iOS, iOS и Android, Android против Mac и т.д.

через Game Center (с использованием плагина Prime31)

  • IOS

Использует многопользовательский режим Game Center для соответствия боям.

через глобальный сервер (внутреннее решение)

  • IOS
  • Android
  • Mac
  • Веб (Kongregate)

Игроки могут сражаться по всему миру с любым из вышеперечисленных устройств: iOS vs iOS, iOS и Android, Android против Mac и т.д.

Для этого решения мы создали онлайн-сервер, но вы можете использовать что-то вроде Photon.

Ответ 2

Для Android вы можете использовать недавно добавленный плагин: Android Bluetooth Multiplayer

Для iOS я также создал плагин: Локальный многопользовательский режим для iOS/tvOS/macOS

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