Unrealセッションによるルームとマッチメイク Matchmaking API Deprecated
2023年4月をもってマッチメイクAPIは廃止され、統合可能なプラットフォームAPIのリストに含まれなくなっています。詳細については、こちら をクリックしてください。 Unrealエンジンのマッチメイクとルームには、
セッション インターフェイスが使用されます。Unrealエンジンにおけるセッションとは、サーバーで実行中のゲームのインスタンスのことです。公開されている場合は、一連のプロパティがあり、参加するかどうかプレイヤーが決められます。非公開の場合は、招待されたプレイヤーだけが参加できます。
OSSセッションインターフェイスを使用したルームとマッチメイクの統合は、どちらも範囲が限られています。フル機能を装備したルームとマッチメイクの統合にするには、ネイティブのC APIを使用してください。
ルームまたはマッチメイクのいずれかのセッションが作成されても、VoIP接続は作成されません。アプリでボイスチャットを有効にする場合は、
ボイスチャット(VoIP) を統合する必要があります。
This is a Platform SDK feature requiring Data Use Checkup
この機能や他のPlatform SDK機能を利用するには、データの使用状況の確認(DUC)を完了する 必要があります。DUCは、開発者ポリシーを遵守していることを確認するためのものです。チームの管理者が、ユーザーデータの利用がプラットフォームガイドラインに沿っていることを証明する必要があります。アプリレビューチームがDUCを審査して承認するまで、プラットフォームの機能はテストユーザー のみが利用可能です。 Meta Questでは、プレイヤーが集まる場所としてルームを使います。これらのルームはUnrealのセッションにマップされます。ルームは、ユーザールーム、マッチメイクルーム、管理ルームなど、アプリでさまざまな呼び方があります。次のセクションでは、マッチメイクルームを追加する方法について説明します。一方、管理ルームは
ルーム ページで定義されているサーバー間API呼び出しによって作成されます。
ユーザールームは、マッチメイクサービスにエンキューされず、後で昇格させることもできません。
以下のステップで、基本的なルームの統合を説明します。
Blueprint
ユーザーがルームに参加したいとき
[Join Session (セッションに参加)] Blueprintノードを追加します。ユーザーが参加したいルームを含む検索結果を指定する必要があります。[Find Moderated Sessions (管理セッションの検索)] Blueprintでルームを検索することができます。 ユーザーがルームを作成したいとき
[Create Session (セッションの作成)] をアプリのBlueprintに追加します。[Meta Quest Matchmaking Pool (Meta Questマッチメイクプール)] の名前は空白のままにします。 コーディング
ユーザーがルームに参加したいとき
ユーザーがルームを作成したいとき
NewSessionSettings.Settingsにnullを指定して、CreateSession()を呼び出します。 マッチメイクを追加するプロセスとして、まずマッチメイクプールを作成してから、アプリにマッチメイクサービスを追加する必要があります。このガイドではUnreal統合に必要な一部の基本事項や背景について確認しますが、マッチメイクサービスの概要全般および管理ルームの作成方法と管理方法については、ネイティブの
マッチメイク ガイド完全版で確認することをおすすめします。
マッチメイクのさまざまなモード
セットアップできるマッチメイクにはさまざまな種類があります。ユーザーにマルチプレイヤー体験を提供する場合は、マルチプレイヤーを選びます。
2人から4人のユーザーがすべて同時に参加する場合のシステムマッチング
[Should Pool Manage Rooms? (プールがルームを管理するか?)] で
[No (いいえ)] を選択します。これは、マッチングを検索しているユーザーのプールをシステムが管理すること、およびマッチングが成立した場合にプレイヤーに対してルームが作成されることを示します。シンプルなマッチメイクは、チェス、チェッカー、テニスなど、プレイヤーが2人から4人のゲーム用に設計されています。この場合、ユーザーがマッチの途中で参加する必要はありません。シンプルなマッチメイクの設定方法について詳しくは、マッチメイクの説明の
シンプルなマッチメイク セクションをご覧ください。
ユーザーがルームを作成し、ゲーム途中で参加または退出が可能な場合のシステムマッチング
[Should Pool Manage Rooms? (プールがルームを管理するか?)] で
[Yes (はい)] を選択し、
[Who can create rooms? (誰がルームを作成できるか?)] で
[Users (ユーザー)] と
[System (システム)] の両方を選択します。これは、マッチングを検索しているユーザーのプールと、そのプールのルームのリストをシステムが管理することを示します。各ルームには異なるマッチメイク設定が可能です。ルームをユーザーが作成、マッチメイクサービスが作成、または両方が作成のどれにするか設定します。高度なマッチメイクは、複数のマッチングオプションがある、より複雑なゲーム用に設計されています。この場合、ユーザーはマッチングの途中で参加または退出が可能です。高度なマッチングの設定方法について詳しくは、マッチメイクの説明の
高度なマッチメイク セクションをご覧ください。
ユーザーが閲覧可能なルームのプールをシステムが管理する場合。
[Should Pool Manage Rooms? (プールがルームを管理するか?)] で
[Yes (はい)] を選択し、
[Who can create rooms? (誰がルームを作成できるか?)] で
[Users (ユーザー)] を選択します。これによりルームのプールが作成されます。ユーザーはルームを作成してホストすることも、ルームのリストから選択して参加することもできます。複数のマッチングオプションがある複雑なゲームも閲覧可能です。ユーザーは途中で参加および退出できます。閲覧のシナリオの設定方法について詳しくは、マッチメイクの説明の
閲覧 セクションをご覧ください。
マッチメイクを統合する前に、マッチングを希望するユーザーのプールを作成する必要があります。マッチメイクとスキルコンポーネントの作成について詳しくは、
スキル ページの
プール セクションをご覧ください。このページで説明されているデータ設定とマッチメイククエリは、OSSインターフェイスからは行えませんので注意してください。
以下のステップで、基本的なマッチメイクの統合を説明します。
Blueprint
マッチメイクプールを作成します。プールの例については、マッチメイククイックスタートと高度なオプション のページをご覧ください。 ユーザーがマッチに参加したいとき
アプリのBlueprintに[Set Session Enqueue (セッションエンキューの設定)] を追加して、マッチメイクサービスにプレイヤーをエンキューします。 ユーザーがマッチを作成したいとき
アプリのBlueprintに[Create Session (セッションの作成)] を追加し、作成したマッチメイクプールの名前を渡します。ルームは自動的にマッチングサービスにエンキューされます。 (任意) [Set Session Enqueue (セッションエンキューの設定)] を使えば、いつでも、現在のセッションをマッチメイクプールにエンキューまたはデキューできます。 コーディング
マッチメイクプールを作成します。プールの例については、マッチメイククイックスタートと高度なオプション のページをご覧ください。 ユーザーがマッチに参加したいとき
StartMatchmaking()を呼び出して、マッチメイクサービスにユーザーをエンキューします。マッチメイクを開始するには、作成したマッチメイクプールのキーを渡します。 ユーザーがマッチングを作成したいとき: NewSessionSettings.Settingsに作成したマッチメイクプールのキーを指定し、NewSessionSettings.bShouldAdvertiseにtrueを指定して、CreateSession()を呼び出し、セッションをマッチメイクサービスにエンキューします。ユーザーがルームをマッチメイクサービスから削除したい場合は、UpdatedSessionSettings.bShouldAdvertiseにfalseを指定してUpdateSession()を呼び出します。 マッチメイクの統合 - 閲覧
以下のステップで、基本的な閲覧マッチメイクの統合を説明します。
Blueprint
閲覧をサポートするマッチメイクプールを作成します。プールの例については、マッチメイククイックスタートと高度なオプション のページをご覧ください。 ユーザーがマッチに参加したいとき
アプリのBlueprintに[Find Matchmaking Sessions (マッチメイクセッションの検索)] を追加し、作成したマッチメイクプールの名前を渡して使用可能なセッションのリストを取得します。管理ルームを使う場合は、代わりに[Find Moderated Sessions (管理セッションの検索)] を追加します。 次に、ユーザーが希望するセッションを選択したら、そのセッション名(SessionName)を[Join Session (セッションに参加)] Blueprintノードに渡します。 任意 - [Get Current Players (現在のプレイヤーを取得)] ノード、[Get Max Players (最大プレイヤーを取得)] ノード、[Get Ping in MS (MSのPingを取得)] ノード、[Get Server Name (サーバー名の取得)] ノードを追加することで、ルームのリストをユーザーに表示したときに、そのルームについてのメタデータを取得することができます。 ユーザーがマッチを作成したいとき(それがサポートされている場合)
アプリのBlueprintに[Create Session (セッションの作成)] を追加し、作成したマッチメイクプールの名前を渡します。ルームは自動的にエンキューされます。 (任意) [Set Session Enqueue (セッションエンキューの設定)] を使えば、いつでも、現在のセッションをマッチメイクプールにエンキューまたはデキューできます。 コーディング
閲覧をサポートするマッチメイクプールを作成します。プールの例については、マッチメイククイックスタートと高度なオプション のページをご覧ください。 ユーザーがマッチに参加したいとき
まずFindSessions()を呼び出し、マッチメイクプールの名前を渡して使用可能なセッションのリストを取得します。マッチメイクルームを検索する場合は、SearchSettingsでQuerySettingsにOCULUSPOOLを定義し、管理ルームを使う場合は、QuerySettingsにOCULUSMODERATEDROOMSONLYを定義します。 次に、ユーザーが希望するセッションを選んだら、JoinSession()を呼び出します。 ユーザーがマッチを作成したいとき(それがサポートされている場合)
NewSessionSettings.Settingsにマッチメイクプールのキーを指定し、NewSessionSettings.bShouldAdvertiseにtrueを指定して、Call CreateSession()を呼び出し、セッションをマッチメイクサービスにエンキューします。ユーザーがルームをマッチメイクサービスから削除したい場合は、UpdatedSessionSettings.bShouldAdvertiseにfalseを指定してUpdateSession()を呼び出します。