Unity での利用
MagicOnion のクライアントは Unity のバージョン 2022.3.0f1 (LTS) 以降をサポートしています。
.NET Standard 2.1
プロファイルと IL2CPP によるビルド、プラットフォームとして Windows, Android, iOS, macOS をサポートします。現時点でそれ以外の WebGL やコンソールといった環境における動作は未サポートです。
MagicOnion を Unity クライアントで使用するには以下のライブラリーをインストールする必要があります:
- NuGetForUnity
- YetAnotherHttpHandler
- gRPC ライブラリ
- MagicOnion.Client
- MagicOnion.Client.Unity
NuGetForUnity のインストール
MagicOnion は NuGet パッケージで提供されているため、Unity で NuGet パッケージをインストールするための拡張である NuGetForUnity をインストールします。インストール手順は NuGetForUnity の README を参照してください。
YetAnotherHttpHandler と gRPC ライブラリのインストール
gRPC プロジェクトで C-core ベースの Unity 向けライブラリの開発が終了したため、YetAnotherHttpHandler を使用する必要があります。インストール手順については YetAnotherHttpHandler の README を参照してください。grpc-dotnet (Grpc.Net.Client) のインストール方法に関しても説明しています。
MagicOnion.Client のインストール
Unity で MagicOnion のクライアントを使用するには NuGet のパッケージと Unity 向け拡張 Unity パッケージの2つをインストールする必要があります。
初めに NuGetForUnity を使用して MagicOnion.Client パッケージをインストールします。
次に Unity 向けの拡張パッケージを Unity Package Manager を使用してインストールします。インストールするには Unity Package Manager の "Add package from git URL..." に以下の URL を指定してください。必要に応じてバージョンタグを指定してください。
https://github.com/Cysharp/MagicOnion.git?path=src/MagicOnion.Client.Unity/Assets/Scripts/MagicOnion.Client.Unity#{Version}
{Version}
をインストールしたいバージョン番号 (例: 7.0.0
) に置き換えてください。
クライアントの使用方法
gRPC のチャンネルを作成する際に下記の通り YetAnotherHttpHandler を使用するように変更する必要があります。
var channel = GrpcChannel.ForAddress("https://localhost:5000", new GrpcChannelOptions
{
HttpHandler = new YetAnotherHttpHandler()
{
// If you want to use HTTP/2 over cleartext (h2c), set `Http2Only = true`.
// Http2Only = true,
},
DisposeHttpClient = true,
});
var client = MagicOnionClient.Create<IMyFirstService>(channel);
Unity 向けに GrpcChannel をラップした、より開発に役立つ機能を提供する拡張も提供しています。詳しくは Unity インテグレーション ページを参照してください。
IL2CPP での動作
Unity プロジェクトがスクリプティングバックエンドとして IL2CPP を使用している場合、追加の設定が必要です。詳細については Source Generator を使用した Ahead-of-Time コンパイルサポート ページを参照してください。