1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UNETの代わりにMirrorが使われる理由

Posted at

!!まだまだ絶賛編集途中です!!

UNET

非推奨の昔からあるUnity純正のネットワーク・ライブラリ

特徴

  1. 24 人を超えるプレイヤーの同期で死亡するらしい
  2. 非推奨,安定性がない
  3. SyncListの送信量の限界が最大64K bytes

ピアツーピア(P2P)トポロジーでは一度に 24 人を超えるプレイヤーを同期しようとすると問題が生じることが多いため、25 人以上のプレイヤーに対応するセッションに関しては、専用ゲームサーバー(DGS)トポロジーへの移行が推奨されます。[1]

とUnityも公言しているので,なるべく使わないのが得策.

3に関して,SyncListでパケットサイズもUnit16.MaxValue(64KB)で制限されていたので,最大パケットサイズを大きくして,遅延送信させたとしても,それ以上のパケットを送ること自体ができなさそう.

if (buffer.Length > UInt16.MaxValue)
{
    if (LogFilter.logError) { Debug.LogError("NetworkWriter WriteBytes: buffer is too large (" + buffer.Length + ") bytes. The maximum buffer size is 64K bytes."); }
    return;
}

Mirror

Mirrorは,有志が開発しているUNETの後継ネットワークライブラリです.

特徴

  • 100人以上のプレイヤーの同期ができるらしい(uMMORPG では480人参加をテストしたらしい)
  • あああ

作られた経緯

  • vis2kさん達(Mirrorの開発者)は、必死でUnityにバグレポートを出したのに、Unityは「仕様です」と返答するだけで、全然修正してくれなかったそう
  • UNETのHLAPIは突如オープンソース化されたので、vis2kさんはこのHLAPIのバグを自力で修正しまくり始めました。
  • Raknetの上にNetworkViewを増築して、さらに3階にUNETを建て増しした

Unityが後継として作ったMLAPIよりもMirrorの方がよいらしいです[2]

[1] [今、Unityでネットワークマルチプレイ作るのに何を使えばいいのか] (https://soysoftware.sakura.ne.jp/archives/1686)
[2] Unityのネットワーク、即戦力が欲しいならMLAPIよりやっぱMirrorのほうがいいかも 2021年5月20日

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?