クイックスタート: PlayFab Party Unity プラグイン
このクイックスタートは、Unity 用 Party SDK をインストールし、プレイヤーを Party ネットワークに参加させるための最初の API 呼び出しを行うのに役立ちます。続行する前に、PlayFab アカウントで Game Manager 経由で Party 機能を有効にする を完了していることを確認してください。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 を起動する を参照してください。
- ガイド付きチュートリアル プロジェクト。詳細については、Getting Started with Unity を参照してください。
- 既存のプロジェクト。
- PlayFab の「コア」 Unity3D SDK。Unity3D SDK のインストールに関する情報は、クイックスタート: Unity での C# 用 PlayFab クライアント ライブラリ の「PlayFab SDK のダウンロードとインストール」セクションを参照してください。
PlayFab Party Unity プラグインのダウンロードとインストール
以下の手順に従って、PlayFab Party Unity プラグインをダウンロードしてインストールします。- PlayFab Party Unity プラグイン アセット パッケージをダウンロードします (プラットフォームに応じた配布ポイントを使用してください)。
- 重要! プラグインと共に公開されている README ファイル の情報を参照してください。各特定のバージョンに合わせてカスタマイズされており、プラットフォーム固有の重要な指示が含まれている場合があります。
- Unity プロジェクトを開きます。
- .unitypackage を保存した場所に移動し、それをダブルクリックしてインポート ダイアログを開きます。
- PlayFab Party Unity プラグインをプロジェクトにインポートするには、Import を選択します。
シーンのセットアップ
このガイドのこの部分では、Unity から PlayFab Party API を呼び出せるように、PlayFabMultiplayerManager をシーンに追加する方法を示します。
ネットワークを作成する前に、PlayFab プレイヤーがログインしている必要があります。プレイヤーのログインに関する情報は、クイックスタート: Unity での C# 用 PlayFab クライアント ライブラリの最初の API 呼び出しを行う を参照してください。
- Unity Editor で、Project ウィンドウで Assets > PlayFabPartySDK > Prefabs に移動します。
- Prefabs フォルダーから、PlayFabMultiplayerManager を Hierarchy ウィンドウのシーンにドラッグ アンド ドロップします。
- シーンに「HelloPartyLogic」という空の Game Object を作成します。
- HelloPartyLogic Game Object を選択して Inspector を開きます。
- Add Component を選択します。
- 「HelloPartyLogic」と入力して Enter キーを押し、新しいスクリプト メニューを表示します。
- もう一度 Enter キーを押して、新しいスクリプト HelloPartyLogic.cs を作成します。
- Project ウィンドウでスクリプトを見つけ、それをダブルクリックしてスクリプトを編集します。
-
スクリプトに次の using ステートメントを追加します:
-
Start メソッドに、PlayFab にログインするための次のコードを追加します。
-
クラスに次のメソッドを追加します。
次のエラーが表示される場合があります:
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 ウィンドウを閉じます。
ネットワークへの接続
このガイドのこの部分では、ネットワークを作成して参加する方法を示します。-
HelloPartyLogic.cs スクリプトを開きます。
OnLoginSuccessメソッドで、ネットワークを作成して参加するために次のコードを追加します: -
OnNetworkJoined イベント ハンドラーを定義するには、次のコードをクラスに追加します:
- Unity Editor で保存し、Play を選択します。ネットワーク ID が Console ウィンドウに表示されます。
既存のネットワークへの参加
このガイドのこの部分では、別のクライアントが作成した既存のネットワークに参加する方法を示します。-
HelloPartyLogic.cs スクリプトを開きます。OnLoginSuccess メソッドで、ネットワークに参加するために次のコードを追加します:
-
ローカル クライアントがネットワークに参加したときに発火するイベントを定義するには、次のコードを
OnLoginSuccessメソッドに追加します: -
OnNetworkJoined イベント ハンドラーを定義するには、次のコードをクラスに追加します:
ホストから参加したい他のプレイヤーにネットワーク ID を渡す方法は多数あります。方法の例については、この Unity プラグインのサンプルを参照してください。
- Unity Editor で保存し、Play を選択します。文字列「Network joined!」が Console ウィンドウに表示されます。
他のプレイヤーへのアクセス
このガイドのこの部分では、ローカル プレイヤーを含め、ネットワーク上の他のプレイヤーにアクセスする方法を示します。 新しいプレイヤーがネットワークに参加したり退出したりするのをリッスンするには、OnRemotePlayerJoined および OnRemotePlayerLeft イベントに登録します。-
HelloPartyLogic.cs スクリプトを開きます。OnLoginSuccess メソッドで、ネットワークを作成して参加するために次のコードを追加します:
-
クラスに次のメソッドを追加します:
-
ローカル プレイヤーにアクセスするには、次のコードを OnRemotePlayerJoined メソッドに追加します:
データ メッセージの送受信
このガイドのこの部分では、データ メッセージを送受信する方法を示します。データ メッセージの送受信を開始する前に、ネットワークに参加する必要があります。-
HelloPartyLogic.cs スクリプトを開きます。OnLoginSuccess メソッドで、データ メッセージをリッスンするために次のコードを追加します:
-
OnDataMessageRecievedイベント ハンドラーをクラスに追加します: -
データ メッセージを送信するには、次のコードを Update メソッドに追加します:
- 2 つ目のクライアントで、ネットワークへの接続 の手順を繰り返してネットワークを作成して参加します。
- 最初のクライアントに返されたネットワーク ID をコピーして、ネットワークに接続します。
- シーン上を選択してメッセージを送信します。「Hello (data message)」が Console ウィンドウに表示されます。
チャット メッセージの送受信
このガイドのこの部分では、チャット メッセージを送受信し、リモート プレイヤーをミュートする方法を示します。テキスト チャットに加えて、Party はプレイヤー間のボイス チャットを自動的に有効にします。 チャット メッセージの送受信を開始する前に、ネットワークに参加する必要があります。-
HelloPartyLogic.cs スクリプトを開きます。OnLoginSuccess メソッドで、チャット メッセージをリッスンするために次のコードを追加します:
-
イベント ハンドラー
OnChatMessageReceivedをクラスに追加します。
- 2 つ目のクライアントで、ネットワークへの接続 の手順を繰り返してネットワークを作成して参加します。
- 最初のクライアントに返されたネットワーク ID をコピーして、ネットワークに接続します。
- シーンを選択すると、メッセージが送信され、Console ウィンドウに表示されます。
-
他のプレイヤーをミュートするオプションをプレイヤーに提供したい場合は、IsMuted プロパティを true に設定します。
カスタム ピア接続構成オプションを使用したネットワークへの接続
このガイドのこの部分では、カスタム ピア接続構成オプションを使用してネットワークを作成して参加する方法を示します。既定のオプションは P2P ですが、ここで提示するフラグの任意の組み合わせを使用して、DirectPeerConnectivityOptions では、ユーザーはこのオプションを変更できます。この例では、P2P の設定方法を示します:-
HelloPartyLogic.cs スクリプトを開きます。
OnLoginSuccessメソッドで、ネットワークを作成して参加するために次のコードを追加します:
