
OmniGRPC v1.0.0 リリース:Unreal Engine 5のBlueprintからgRPC通信を実現
Table of Contents
Unreal Engine 5向けgRPCプラグイン OmniGRPC v1.0.0 をリリースしました。
OmniGRPCは、.protoファイルをContent Browserへ取り込むだけで、BlueprintからgRPCサーバーを呼び出せるプラグインです。ユーザー側でC++コードを生成したり、protocを実行したり、スキーマ変更のたびにゲームコードをビルドしたりする必要はありません。
主な特徴
.protoからBlueprint用アセットを自動生成
.protoファイルをContent Browserへドラッグすると、messageからUser Defined Struct、enumからUser Defined Enum、serviceからService Assetを生成します。
生成先は/Game/OmniGrpcGenerated/です。Blueprintでは、生成されたStructをRequest/Responseとして扱い、Service Assetから呼び出すMethodを選択できます。
4種類のRPCに対応
Unary、Server Streaming、Client Streaming、Bidi Streamingの4種類をBlueprintから利用できます。
Call gRPC Unary:データを1回送り、結果を1回受け取るCall gRPC Server Streaming:1回のRequestに対して複数のデータを受信するCall gRPC Client Streaming:複数のデータを送り、最後に結果を受け取るCall gRPC Bidi Streaming:送信と受信を同時に続ける
Unaryに加えて、進捗表示、一覧の連続受信、分割アップロード、チャットや遠隔操作などの双方向通信を、同じBlueprintの考え方で実装できます。
5つのプラットフォームで同じBlueprintを利用
Full Editionでは、Windows(Win64)、Linux、macOS(Apple Silicon/Intel)、Android、iOSで、同じ.proto、生成アセット、Blueprintを利用できます。
プラットフォームごとに通信処理を書き直す必要はありません。モバイル向けには、Androidのネットワーク権限やiOSの通信設定など、各OSに必要な設定を追加します。
安全で安定した通信のための機能
TLS/mTLSによる暗号化、アクセストークン認証、Metadata、タイムアウト、キャンセル、自動再試行、接続状態の確認、圧縮、負荷分散などを設定できます。
また、Server ReflectionからのService Asset生成と、gRPC Health Checkにも対応しています。どちらもFull Editionの機能です。
Free Edition と Full Edition
OmniGRPCには、無料のFree Editionと、すべての機能を利用できるFull Editionがあります。
| 機能 | Free Edition | Full Edition |
|---|---|---|
.protoの取り込みとアセット生成 | ○ | ○ |
| Unary RPC | ○ | ○ |
| TLS/mTLS、アクセストークン、Metadata | ○ | ○ |
| タイムアウト、キャンセル、自動再試行 | ○ | ○ |
| Server Streaming/Client Streaming/Bidi Streaming | − | ○ |
| Server Reflectionによるインポート | − | ○ |
| Health Check | − | ○ |
| 対応プラットフォーム | Windows | Windows/Linux/macOS/Android/iOS |
Free Editionは、Windows(Win64)でUnary RPCを試し、本番品質で利用するためのエディションです。基本的にテクニカルサポートの対象外となるため、サポートが必要な場合はFull Editionをご利用ください。
Free Editionで作ったプロジェクトは、Full Editionへそのまま移行できます。生成されるStruct、Enum、Service Asset、Blueprintノードの名前は両エディションで共通です。
対応環境
| 項目 | 対応範囲 |
|---|---|
| Unreal Engine | 5.6 / 5.7 / 5.8 |
| Windows | Win64 |
| Linux | x86-64(Full Edition) |
| macOS | Apple Silicon(arm64)、Intel Mac(x86_64)(Full Edition) |
| Mobile | Android / iOS(Full Edition) |
| RPC | Unary / Server Streaming / Client Streaming / Bidi Streaming |
利用しているUnreal Engineのバージョンと同じFabパッケージを選択してください。
はじめかた
- Fabストアから、使用するUnreal Engineバージョンに対応したOmniGRPCをプロジェクトへ追加します。
- クイックスタートで、サンプルサーバーへLoginを送る最初の通信を試します。
- 手元の
.protoを使う場合は、セットアップとアセット生成でアセット生成とMethodの選択を確認します。
サンプルサーバーはOmniGRPC サンプルサーバー ダウンロードから入手できます。Windows、macOS、Linux向けのパッケージを用意しています。
まとめ
OmniGRPC v1.0.0は、.protoから生成したアセットとBlueprintだけで、UnaryからBidi StreamingまでのgRPC通信を扱えるプラグインです。まずはFree EditionでWindowsのUnary通信を試し、必要に応じてFull Editionへ移行できます。
クイックスタートを参考に、サンプルサーバーとの通信を試してみてください。
ドキュメント
OmniGRPCの使い方は、次のドキュメントで確認できます。
ダウンロード
OmniGRPC v1.0.0はEpic Games Fabからご利用いただけます。
プラグインの詳細はプラグイン紹介ページをご覧ください。
ご質問・不具合報告はSupportページからお願いいたします。
AyuMaxSoftからの最新情報をいち早く知るには、Xアカウント @AyumaxSoft をフォローしてください。