OmniGRPC v1.0.0 リリース:Unreal Engine 5のBlueprintからgRPC通信を実現

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 EditionFull Edition
.protoの取り込みとアセット生成○○
Unary RPC○○
TLS/mTLS、アクセストークン、Metadata○○
タイムアウト、キャンセル、自動再試行○○
Server Streaming/Client Streaming/Bidi Streaming−○
Server Reflectionによるインポート−○
Health Check−○
対応プラットフォームWindowsWindows/Linux/macOS/Android/iOS

Free Editionは、Windows(Win64)でUnary RPCを試し、本番品質で利用するためのエディションです。基本的にテクニカルサポートの対象外となるため、サポートが必要な場合はFull Editionをご利用ください。

Free Editionで作ったプロジェクトは、Full Editionへそのまま移行できます。生成されるStruct、Enum、Service Asset、Blueprintノードの名前は両エディションで共通です。

対応環境

項目対応範囲
Unreal Engine5.6 / 5.7 / 5.8
WindowsWin64
Linuxx86-64(Full Edition)
macOSApple Silicon(arm64)、Intel Mac(x86_64)(Full Edition)
MobileAndroid / iOS(Full Edition)
RPCUnary / Server Streaming / Client Streaming / Bidi Streaming

利用しているUnreal Engineのバージョンと同じFabパッケージを選択してください。

はじめかた

  1. Fabストアから、使用するUnreal Engineバージョンに対応したOmniGRPCをプロジェクトへ追加します。
  2. クイックスタートで、サンプルサーバーへLoginを送る最初の通信を試します。
  3. 手元の.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 をフォローしてください。

Share :