> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XR-115 ゲームプレイ中のユーザーまたはコントローラーの追加と削除

> XR-115 では、マルチユーザー タイトルがゲームプレイ中のコントローラーの追加と削除、ユーザーのサインインとサインアウトを処理する方法を、ベスト プラクティスとテスト ケースとともに定義します。

バージョン 1.1、2021/5/1

複数のユーザーをサポートするタイトルは、ユーザーの追加と削除、およびゲームプレイ中にアクティブなプレイヤーにコントローラーが割り当てられていないシナリオやコントローラーが失われたシナリオに、次のように対応する必要があります。

**コントローラーの追加:**  タイトルが最初のユーザーとコントローラーを選択した後、または提供された後は、必要に応じて他のコントローラーからの入力を受け付けることができます。マルチプレイヤー エクスペリエンスをサポートするタイトルは、追加のプレイヤーまたはコントローラーをゲームプレイに追加し、XUserAddAsync を使用してユーザーにバインドする方法を検討する必要があります。たとえば、「A を押して参加」と表示したり、プレイヤー選択画面にコントローラーのシルエットを表示したりします。

**コントローラーの削除:** ゲームプレイを操作しているプレイヤーのコントローラーがゲームプレイ中に取り外された場合、タイトルは新しいアクティブなコントローラーを再設定できるようにする必要があります (たとえば、「A を押して続行」と表示する、または有効なコントローラーを持つアクティブなユーザーについて、ERA では ControllerPairingChanged、GDK では XUserDeviceAssociationChangedCallback イベントを受け取るなど)。タイトルは、XUserFindControllerForUserWithUiAsync を使用してシステム UX を呼び出し、ユーザーにコントローラーをユーザーとペアリングしてゲームプレイに戻るよう促すこともできます。

**ユーザーの追加:** GDK を使用する場合 (簡易ユーザー モデルと高度なユーザー モデルのどちらを使用する場合でも)、ユーザーはタイトルが XUserAddAsync を呼び出したときにのみ追加されます。

**プライマリ ユーザーの削除:** GDK の高度なユーザー モデルを使用するタイトルでは、プライマリ ユーザーが (ガイド、SPOP、またはその他の方法で) サインアウトした場合、タイトルはプレイヤーをゲームから削除するか、ユーザーとアクティブなコントローラーを再設定する必要があります。

GDK の簡易ユーザー モデルを使用するタイトルでは、プライマリ プレイヤーが削除されると、システム レベルでタイトルが中断されます。

すべてのシナリオにおいて、タイトルはゲームを適切な状態にすることで削除や終了に対処します。これには、接続ストレージへの書き込み、関連する MPSD セッションへのユーザーの退出の通知、および新しいユーザーも追加されていない場合はユーザーをサインインに適した場所に移動させることが含まれます。

**追加/セカンダリ ユーザーの削除:** タイトルは、このイベントを独自の判断で処理できます。通常は、プレイヤーをゲームプレイから直ちに削除するか、使用中のマルチプレイヤー エクスペリエンスのコンテキストでプレイヤーに再参加を促します。

## 実装ガイダンスとベスト プラクティス

アクティブなプレイヤーのコントローラーが取り外されたときは、ゲームプレイを一時停止することがベスト プラクティスです。

アクティブなユーザーがサインアウトしたときは、ユーザーがエクスペリエンスに戻ったときに中断した場所のほぼ近くから再開できるように、ユーザーの進行状況をできるだけ多く保存することがベスト プラクティスです。

タイトルが複数のサインイン ユーザーをサポートしている場合、アクティブなユーザーがサインアウトし、他のアクティブなユーザーがまだサインインしているときは、他のアクティブなユーザーが現在のエクスペリエンスをできるだけ続行できるようにすることがベスト プラクティスです。ゲームの場合、サインアウトしたユーザーをゲームプレイから完全に削除するか、コンピューターが操作するプレイヤーに置き換えることができます。

## その他のリソース

## 認定テスト ケース

次の表は、GDK の簡易ユーザー モデル、または GDK の高度なユーザー モデル、ERA、UWP マルチユーザー アプリケーションを使用する場合に、XR-115 のどのテスト ケースがタイトルに適用されるかを示しています。

| テスト ケース | GDK の簡易ユーザー モデルに適用 | GDK の高度なユーザー モデル、ERA、UWP MUA に適用 |
| - | - | - |
| 115-01 ユーザーの追加 | いいえ | はい \* |
| 115-02 コントローラーの削除 | はい | はい |
| 115-03 ユーザーの削除 | いいえ | はい |

\* **115-01 ユーザーの追加** は、ERA および UWP マルチユーザー アプリケーションにのみ適用されます。GDK では、タイトルは意図的に追加したユーザーのみを認識できます。シェルを介して追加されたユーザーは、GDK タイトルには認識されません。

**115-01 ユーザーの追加**

> **テスト手順**
>
> 1. プロファイル A にサインインし、他のプロファイルがサインインしていないことを確認します。
> 2. タイトルを起動し、ゲームプレイに進みます。
> 3. タイトルの使用中のさまざまな時点で、2 台目のコントローラーを接続してプロファイル B にサインインします。
> 4. プロファイル B がタイトルにコントローラー入力を行おうとします。
>
> **期待される結果**\
> ERA または UWP MUA タイトルは、アクティブなユーザーのエクスペリエンスを自動的に中断してはなりません。
>
> **合格例**
>
> 1. タイトルは、アクティブなユーザーを新しいユーザーに自動的に切り替えたり、アクティブなユーザーのエクスペリエンスを中断したりしません。
> 2. ゲーム タイトルは、現在のコンテキストに応じて、プロファイル B がタイトルを操作できるようにすることを選択できます。
>
> **不合格例**
>
> 1. タイトルが、アクティブなユーザーとしてプロファイル B に直ちにコンテキストを切り替えます。

**115-02 コントローラーの削除**

> **テスト手順**
>
> 1. プロファイルにサインインし、タイトルを起動します。
> 2. タイトルの使用中のさまざまな時点で、コントローラーから電池を取り外します。
> 3. コントローラーに電池を入れ直し、ユーザーがタイトルを引き続き使用できることを確認します。
> 4. 手順 \[1] - \[3] を繰り返します。ただし、電池を入れ直す代わりに 2 台目のコントローラーを接続します。
>
> **期待される結果**\
> タイトルは、コントローラーの削除と追加に正しく対応する必要があります。
>
> **合格例**
>
> 1. コントローラーの削除または追加の後も、アクティブなユーザーはタイトルを引き続き使用できる必要があります。
> 2. ユーザーに、新しいアクティブなコントローラーを再設定するよう促すメッセージが表示されます (たとえば、「A を押して続行」と表示する、またはシステム UX を呼び出すなど)。
>
> **不合格例**
>
> 1. コントローラーの削除後、ユーザーがタイトルを引き続き使用できません。

**115-03 ユーザーの削除**

> **テスト手順**
>
> 1. プロファイル A にサインインし、他のプロファイルがサインインしていないことを確認します。
>
> 2. タイトルを起動し、ゲームプレイに進みます。
>
> 3. タイトルの使用中のさまざまな時点で、プロファイル A からサインアウトします。
>
> 4. タイトルがアカウント ピッカーを呼び出すか、ユーザーをフロント エンドに戻すことを確認します。
>
> 5. 可能な場合は、次の方法でタイトルを操作します。
>
> * プロファイル A にサインインし、タイトルがユーザーのエクスペリエンスをそれ以上中断しないことを確認します。
> * プロファイル B にサインインし、タイトルが新しいユーザーのコンテキストに更新されることを確認します。
>
> **期待される結果**\
> タイトルは、プレイヤーをゲームから削除するか、ユーザーとアクティブなコントローラーを再設定する必要があります。プレイヤーがゲームから削除された場合、タイトルは適切な状態のままにする必要があります。これには、接続ストレージへの書き込み、関連する MPSD セッションへのユーザーの退出の通知、および新しいユーザーも追加されていない場合はユーザーをサインインに適した場所に移動させることが含まれます。
>
> **合格例**
>
> 1. タイトルがプレイヤーをゲームから削除し、フロント エンドに戻ります。
> 2. タイトルでユーザーが新しいユーザーを再設定でき、関連するユーザー コンテキストに正しく更新されます。
>
> **不合格例**
>
> 1. タイトルがユーザーの状態の変化に対応しません。
> 2. 新しいプロファイルが選択された後も、タイトルがプロファイル A のユーザー状態を使用し続けます。


## Related topics

- [XBOX ゲーム向け認定テスト対象 XBOX 要件](https://docs.xbox.com/ja-jp/publishing/certification/console-cert-tested-requirements.md)
- [XBOX Requirements とポリシーのサポート コンテンツ](https://docs.xbox.com/ja-jp/publishing/certification/xr/overview.md)
- [XR115 ゲームプレイ中のユーザーまたはコントローラーの追加と削除](https://docs.xbox.com/ja-jp/publishing/certification/fma/xr-115.md)
- [XBOX ゲーム向け XBOX 要件](https://docs.xbox.com/ja-jp/publishing/certification/xbox-requirements.md)
- [XR-112 アクティブ化時と再開時のユーザーとコントローラーの設定](https://docs.xbox.com/ja-jp/publishing/certification/xr/xr-112.md)
