クイックスタート: PlayFab Multiplayer Unity プラグイン
PlayFab Multiplayer Unity プラグインを使い始めます。以下の手順に従ってパッケージをインストールし、基本的なタスクのサンプル コードを試してください。 このクイックスタートは、Unity 用 PlayFab Multiplayer SDK を使って最初の API 呼び出しを行うのに役立ちます。続行する前に、クイックスタート: Unity での C# 用 PlayFab クライアント ライブラリ を完了して、PlayFab アカウントを持っており、ゲームからの PlayFab ログインと PlayFab Game Manager に慣れていることを確認してください。Microsoft Game Development Kit (GDK) を基にしたゲームを開発するためにこのプラグインを使用する予定の場合は、GDK を別途取得してインストールする必要があります。XBOX コンソールの Game Core 用 Unity アドオンについても詳細をご覧ください。
要件
- PlayFab 開発者アカウント。
- インストール済みの Unity Editor。Unity Hub 経由で個人使用の Unity をインストールする方法や、プロフェッショナル使用の Unity+ については、Unity のダウンロード を参照してください。必要に応じて特定のプラットフォームのドキュメントで Unity のサポートを確認してください。サポートされる最小 Unity バージョンは Unity 2017 LTS です。
-
Unity プロジェクト - 次のいずれかにできます:
- まったく新しいプロジェクト: 詳細については、Unity を初めて起動する を参照してください。
- ガイド付きチュートリアル プロジェクト。詳細については、Unity を始める を参照してください。
- 既存のプロジェクト。
- PlayFab の「コア」Unity3D SDK (Multiplayer Unity プラグインにも含まれています)。Unity3D SDK のインストールに関する情報については、クイックスタート: Unity での C# 用 PlayFab クライアント ライブラリ の「Download and install PlayFab SDK」セクションを参照してください。
PlayFab Multiplayer Unity プラグインのダウンロードとインストール
PlayFab Multiplayer Unity プラグインをダウンロードしてインストールするには、以下の手順に従います。- PlayFab Multiplayer Unity Plugin の Asset パッケージをダウンロードします (プラットフォームに応じた配布ポイントを使用します)。
- 重要! プラグインとともに公開されている README ファイルの情報を参照してください。これは各特定バージョンに合わせて調整されており、プラットフォーム固有の重要な指示が含まれる場合があります。
- Unity プロジェクトを開きます。
- .unitypackage を保存した場所に移動し、ダブルクリックしてインポート ダイアログを開きます。
- PlayFab Multiplayer Unity プラグインをプロジェクトにインポートするには、Import を選択します。
シーンをセットアップする
ガイドのこの部分では、Unity から PlayFab Multiplayer API を呼び出せるようにするため、シーンにPlayfabMultiplayerEventProcessor を追加する方法を説明します。
Multiplayer API を使用する前に、PlayFab プレイヤーがログインしている必要があります。プレイヤーのログインに関する情報については、クイックスタート: Unity での C# 用 PlayFab クライアント ライブラリの最初の API 呼び出しを行う を参照してください。
- Unity Editor の Project ウィンドウで、Assets > PlayFabMultiplayerSDK > Prefabs に移動します。
- Prefabs フォルダーから、PlayfabMultiplayerEventProcessor を Hierarchy ウィンドウのシーンにドラッグ アンド ドロップします。
- 「HelloMultiplayerLogic」という空の Game Object をシーンに作成します。
- HelloMultiplayerLogic Game Object を選択して Inspector を開きます。
- Add Component を選択します。
- 「HelloMultiplayerLogic」と入力して Enter キーを押し、新しいスクリプト メニューを表示します。
- もう一度 Enter キーを押して、新しいスクリプト HelloMultiplayerLogic.cs を作成します。
- Project ウィンドウでスクリプトを見つけ、ダブルクリックしてスクリプトを編集します。
-
次の using ステートメントをスクリプトに追加します:
-
Start メソッドに次のコードを追加して、PlayFab にログインします。
-
次のメソッドをクラスに追加します。
次のようなエラーが表示される場合があります:
C \# Error CS0227 Unsafe code may only appear if compiling with /unsafe The plugin requires unsafe code because it interops with a native DLL. Mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "XGamingRuntime", "AMD64".- Unity Editor で、File > Build Settings を選択します。
- プラットフォームを選択します。次に Architecture ドロップダウンから、x86_64 または x64 のいずれかを選択します。
- Player Settings を選択します。
- 右ペインで Other Setting を選択します。
- Allow unsafe Code 設定を見つけて選択します。
- Build Settings および Project Settings ウィンドウを閉じます。
ロビーを作成して参加する
ガイドのこの部分では、ロビーを作成して参加する方法を説明します。-
HelloMultiplayerLogic.cs スクリプトを開きます。
OnLoginSuccessメソッドに、ロビーを作成して参加するための次のコードを追加します: -
OnLobbyCreateAndJoinCompleted イベント ハンドラーを定義するには、クラスに次のコードを追加します:
-
OnLobbyDisconnected イベント ハンドラーを定義するには、クラスに次のコードを追加します:
- 保存して Unity Editor で Play を選択します。Console ウィンドウにロビー接続文字列が表示されます。
ロビーに参加する
ガイドのこの部分では、別のクライアントが作成した既存のロビーに参加する方法を説明します。-
HelloMultiplayerLogic.cs スクリプトを開きます。OnLoginSuccess メソッドに、ロビーに参加するための次のコードを追加します:
-
ローカル クライアントがロビーに参加したときに発生するイベントを定義するには、
OnLoginSuccessメソッドに次のコードを追加します: -
OnLobbyJoinCompleted イベント ハンドラーを定義するには、クラスに次のコードを追加します:
- 保存して Unity Editor で Play を選択します。Console ウィンドウに「Joined a lobby」という文字列が表示されます。
ロビーを検索する
ガイドのこの部分では、他のクライアントが作成した既存のロビーを検索する方法を説明します。-
HelloMultiplayerLogic.cs スクリプトを開きます。OnLoginSuccess メソッドに、ロビーを検索するための次のコードを追加します:
-
ローカル クライアントがロビーを見つけたときに発生するイベントを定義するには、
OnLoginSuccessメソッドに次のコードを追加します: -
OnLobbyFindLobbiesCompleted イベント ハンドラーを定義するには、クラスに次のコードを追加します:
- 保存して Unity Editor で Play を選択します。Console ウィンドウに「Found lobbies」という文字列が表示されます。
マッチメイキング チケットを作成する
ガイドのこの部分では、マッチメイキング チケットの作成方法を説明します。以下の別のクライアントでの「マッチメイキング チケットに参加する」のシナリオと一緒に実行してください。-
HelloMultiplayerLogic.cs スクリプトを開きます。
OnLoginSuccessメソッドに、マッチメイキング チケットを作成するための次のコードを追加します: -
OnMatchmakingTicketStatusChanged イベント ハンドラーを定義するには、クラスに次のコードを追加します:
- 保存して Unity Editor で Play を選択します。
マッチメイキング チケットに参加する
ガイドのこの部分では、別のクライアントが作成した既存のマッチメイキング チケットに参加する方法を説明します。上記の別のクライアントでの「マッチメイキング チケットを作成する」のシナリオと一緒に実行してください。-
HelloMultiplayerLogic.cs スクリプトを開きます。OnLoginSuccess メソッドに、マッチメイキング チケットに参加するための次のコードを追加します:
-
OnMatchmakingTicketStatusChanged イベント ハンドラーを定義するには、クラスに次のコードを追加します:
- 保存して Unity Editor で Play を選択します。
マッチメイキング チケットを完了する
ガイドのこの部分では、マッチメイキングが完了する方法を説明します。上記の別のクライアントでの「マッチメイキング チケットを作成する」のシナリオと一緒に実行してください。オプションで「マッチメイキング チケットに参加する」のシナリオと一緒に実行することもできます。- 同じキュー内の複数のチケットがマッチする資格を得ると、マッチが見つかります。その場合、OnMatchmakingTicketCompleted イベント ハンドラーがトリガーされます。
-
OnMatchmakignTicketCompleted ハンドラーをサブスクライブします
-
OnMatchmakingTicketCompleted イベント ハンドラーを定義するには、クラスに次のコードを追加します:
