Photon Unity Networkingをバージョンアップしたら接続している端末を認識してくれなくなったときの対応

ヨメレバCSS
オリジナルCSS

 Photon Unity Networkingアセットのバージョンをアップデートしたら動かなくなったときの覚え書き。

スポンサーリンク
GoogleAdSence レクタングル(大)

ライブラリのバージョンを揃える

 PUNのバージョンを揃えたら、無事認識してくれました。逆にいうと、インポートしているPUNのバージョンが違うと認識してくれませんでした。

 

 今開発しているそれではPhoton Voiceを使用しているのですが、こいつがPUNを同梱していて、インポートすると上書きしてくれるわけですね。

 で、ここは勘違いしていたところなんですがPUNはPUNで別途インポートするようにしていて。つまりPUNとVoiceのインポートする順番によって、最終的にPUNのバージョンが違う可能性が出てくる。

 現在のPUNは1.80、Voiceに同梱されているバージョンは1.79となっておりまして、PUN→Voiceの順でインポートすると最終的に1.79、Voice→PUNの順でインポートすると1.80になってしまったというわけ。

 ここに気をつけて、同じバージョンになるようにしたら接続されました。よかった。

送信するゲームバージョンが違っても接続できなくなる

 このあたりどこかドキュメントに書いてないかと思ったら、PUNの基本説明のところにありました。

バージョン管理

Photonの負荷分散ロジックは、アプリIDでプレイヤーを区別しています。ゲームバージョンも同じように、新しいクライアントと過去のクライアントを区別します。PUNのバージョンが異なると互換性を保証できないので、ゲームバージョンの後にPUNバージョンも送信しています。(PUN v1.7から)

Oh…

 つまり送信しているバージョンが違うと接続できない、PUNは自身のバージョンも接続時のバージョンに含めて送信している、つまりPUNのバージョンが違うと接続できない。

 なるほどですねー

 ネットワークゲーム向けマルチプレイヤーライブラリとして大丈夫なんです? って思うところもあるのですが、想定する使い方としてMO的な、一時的なセッションみたいな感じであれば問題が無い(むしろこっちのほうが、互換性による問題が発生しなくてよい)ということなのでしょう。

 ともあれ、PUNはバージョン互換がない。ということに気をつけていかないといけないということです。

スポンサーリンク
GoogleAdSence レクタングル(大)

シェアする

スポンサーリンク
GoogleAdSence レクタングル(大)