Home

Awesome

非推奨になりました UniP2P Vesion Alpha (0.2.0)

本プロジェクトはアルファ版です。

実装中の機能が多々あるのでプロダクトで使用することは推奨しません。

問題点や要望がありましたら、Issueに書き込んでいってください。

使い方やドキュメントに関しては、ReadmeとGithub Wikiを参照してください。

概要

UniP2PはUnityにおけるリアルタイムネットワーク通信をもっとラクに実現し、民主化しようという試みから始まったプロジェクトです。マッチング以外の処理をP2P(サーバーを使わない端末間の通信)で行うことで、低遅延かつ、サーバーに負担がかからない仕組みになっています。

MITライセンスで公開しておりマッチングサーバーに対しての同時接続数にライセンス的な制限もありません。

現在確認している対応プラットフォームは、Windows Mac Linux Androidとなっており、クロスプラットフォームでの通信が可能になっています。将来的にはWebGLでも使えるようにする予定です。

現状UDP通信に対応しています。UDPに対して独自に暗号化を組み込んでいます。 再送処理や順序制御も実装予定です。 WebGLでも使えるようにWebRTCに対応予定です。

機能

依存ライブラリ

UniP2Pには依存ライブラリとしてUniRxとMessagePackの最新版が必要です。 またUniRxは、UniRx.Asyncも必要となります。 以下のリンクからプロジェクトに導入した上でお使いください。

またUniRx.AsyncにはC#7対応が必要です。 Unity2018.3以降であればそのまま使えますが、それ以前のバージョンの場合は、IncrementalCompilerを導入してください。

使い方

使用したライブラリ

UniRX (MIT)

https://github.com/neuecc/UniRx

https://github.com/neuecc/UniRx/blob/master/LICENSE

MessagePack for C#

https://github.com/neuecc/MessagePack-CSharp

https://github.com/neuecc/MessagePack-CSharp/blob/master/LICENSE

STUN Client (CPOL)

https://www.codeproject.com/Articles/18492/STUN-Client

https://www.codeproject.com/info/cpol10.aspx

License

MIT License