Integrating Momento with your Unity app
Unityは、今日、市場で最も人気のあるゲームエンジンの1つであるリアルタイム開発プラットフォームです。Unityゲームエンジンは、モバイル、デスクトップ、没入型プラットフォーム(拡張現実や仮想現実など)を含むさまざまなプラットフォームで、2Dおよび3Dのインタラクティブアプリを作成するために何千人もの開発者によって使用されています。
このチュートリアルでは、Momento .NET SDKを使用して、シンプルなUnityチャットアプリケーションを作成します。具体的には、Momento Topicsを使用して、チャットメッセージのパブリッシュとサブスクライブを行います。
Momento Topicsは、サーバーレスで リアルタイムコミュニケーションを実現するアプローチで、クライアントがトピックと呼ばれる専用チャンネルをサブスクライブしてパブリッシュすることができます。そのため、Unityベースのリアルタイムチャットアプリケーションに最適です。さらに、サーバーレスアプローチであるため、独自のサーバーを作成したり設定したりする必要がありません。詳細はMomento Topics Documentation pageを参照してください。
前提条件
Unity
Unity 2022 LTS releaseをダウンロードしてください。このチュートリアルを書くにあたり、特にUnity 2022.3.9f1を使用しましたが、どのUnity 2022 LTSリリースでも動作するはずです。
Momento
Unityのダウンロードとインストールを待つ間、オプションでMomento consoleを使ってMomento側の設定を行うことができます。注意: このステップは、独自の API Auth Token を設定する場合にのみ必要です。このチュートリアルの残りの部分では、メインの Momento Moderated Chat アプリケーションの一部として既にデプロイされている Token Vending Machine を利用するので、このステップは必要ありません。ただし、Unity demo repositoryには、独自のMomento Topicを利用できる2つのUnityシーンが含まれています。詳しくは、以下のExample Scenesを参照してください。
- Momentoコンソールで、メールアドレスを入力するか、既存のGoogleまたはGitHubアカウントをリンクすることでアカウントを作成できます。
- コンソールにログインしたら、ページの右上にある
Create Cache
ボタンをクリックします: キャッシュ作成ボタン Unity-Topics-Cache
というキャッシュを作成します。キャッシュはクラウドプロバイダー、AWSまたはGCPのいずれかを選択し、任意のリージョンに作成できます。Create
ボタンを押すと、利用可能なキャッシュのリストに新しいUnity-Topics-Cache
キャッシュが表示されます。キャッシュを作成した地域もキャッシュのリストに表示されます。次のステップで Momento API Keyを生成するときに、同じ地域を選択する必要があります。 チャットキャッシュ- API Keyページに移動し、キャッシュの作成に使用したクラウドプロバイダーとリージョンを選択し、
Super User API Key
トークンタイプを選択し、Generate API Key
ボタンをクリックします。 APIキー
をコピーして安全な場所に保存してください。後でUnityチャットアプリケーションを設定する際に使用できます。
Unityプロジェクトのセットアップ
プロジェクトの作成
前提条件をクリアしたら、Unityプロジェクトをセットアップする必要があります。そのためには、私たちのexample demo repositoryをクローンしてそこから始めるか、ゼロから自分で作成します。Unityに慣れていない場合や、後のステップで時間を節約したい場合は、exampleリポジトリをクローンすることをお勧めし ます。
サンプルのリポジトリにあるUnityプロジェクトを使用するには、以下の手順を実行します:
- https://github.com/momentohq/momento-unity-demo をクローンします。
- Unity Hub を開きます。
- 既存のUnityプロジェクトを "Open"をクリックして開きます: 新しいUnityプロジェクト
- クローンしたフォルダを選択します。
- Unity 2022.3.9f1以外のバージョンを使用している場合、Unityにプロジェクトのエディタバージョンを適切に変更させる必要があるかもしれません。
- Unityプロジェクトがロードされたら、
MomentoTopicsDemo-ModeratedChat.unity
シーンファイルを開きます。プロジェクトには、様々なレベルの機能を示すいくつかのシーンファイルがあります。Moderated Chat シーンは、メインのMomento Moderated ChatアプリケーションのUnityクライアントを提供します。How to use webhooks and Momento Topics to build a multi-language chat appのブログ記事も参照してください。 このチュートリアルの残りは、サンプルリポジトリを利用します。
UnityにMomento .NET SDKを追加する
プロジェクトを開けたら
- 最新のMomentoSdkUnityリリース.zipファイルをダウンロードします。例えば、v1.31.1 リリース の場合は、MomentoSdkUnity-1.31.1.zip をダウンロードします。この.zipファイルには、UnityのHTTP/2互換性の制限のためにgRPC-Webを利用するMomento .NET SDKの特別なバージョンが含まれています。必要な DLL の依存関係も zip に含まれています。
- フォルダ
Assets/MomentoSdkUnity
内に解凍します。
MomentoトピックでUnityチャットアプリケーションを構築する
このステップまでくれば、Momento .NET SDKを介してMomentoトピックに接続するためのユーザーインターフェイスの構築とC#スクリプトの作成を開始する準備が整ったことになります。
このチュートリアルでは、クローンされたリポジトリにある既存のサンプルコードを利用し、以下の2つのセクションでUIとC#コードがどのようにセットアップされているかの概要を説明します。