次の方法で共有


Microsoft Game Development Kit と PC Unity ゲームを統合する

注意

GDK Unity パッケージは、2024 年 12 月 31 日までに非推奨になります。 これは Microsoft GDK Packages for Unity に置き換えられます。詳細については、このフォーラムの投稿を参照してください。

このトピックでは、GDK を Unity PC ゲームに統合する方法について説明します。

概要

Microsoft Store または PC Game Pass に表示される Unity ゲームを構築する基本的なコンポーネントは次のとおりです:

  • Windows スタンドアロン、x86_x64 Unity プロジェクト
  • GDK にあるランタイム ライブラリ
  • Microsoft が提供する Unity パッケージ。

これにより、Xbox の実績、ランキング、クラウドのセーブ、Azure PlayFab Party チャット、クロスプラットフォーム マルチプレイヤーなど、Microsoft Gameplay Services へのアクセスがロック解除されます。

必要なソフトウェア

GDK で Unity を使用するには、次のツールと SDK をインストールする必要があります。

GDK

  1. これらの役に立つリソースへのアクセス権があることを確認します。 アクセス権をお持ちでない場合は、Microsoft の担当者に連絡してください。

  2. GDK をダウンロードします。

    注: PC への公開のみが必要な場合は、GitHub から GDK をダウンロードできます。

    1. セキュア Xbox のダウンロード に移動します。

    2. 次のスクリーンショットに示すように、Game Core を選択してから 確認 を選択します。

      ファイルの種類を選択する UI のスクリーンショット

    3. 次のスクリーンショットに示すように、最新のツールとリカバリをダウンロードします。 PC だけで出荷する場合は、リカバリは必要ないことに注意してください。

      [ツールとリカバリ] のダウンロード バージョンを選択できる UI のスクリーンショット

    4. それぞれをダウンロードするには、[今すぐダウンロード] を選択します。

  3. GDK をインストールします。

    1. ファイルをダウンロードした場所を参照します。 各パッケージを抽出します。

    2. 抽出された GDK フォルダーを参照し、setup.exe を見つけてダブルクリックし、セットアップを開きます。

    3. [セットアップ] ページでの手順を完了します。

最新の Gaming Runtime Services (GRTS) と PC Bootstrapper

2022 年 5 月の GRTS リリース以降、PC ゲームの起動エクスペリエンスに PC Bootstrapper が追加されています。 PC ブートストラップは Gaming RunTime Service (GRTS) に依存しており、開発用 PC で GRTS が最新でない場合、サインインしようとするとエラー (E_FAIL) が発生する可能性があります。 詳細については、 PC ブートストラップの 概要を参照してください。

Unity パッケージ

  1. GitHub の Unity パッケージをダウンロードします。
    パッケージは、各リリースの [アセット] セクションにあり、gdk-pc.[version number].unitypackage という名前になります。

  2. Unity パッケージをインポートします。

    1. 新しい Unity プロジェクトを作成します。 最初に新しいプロジェクトでこのプロセスを実行してから、実際のゲームで使用することをお勧めします。

    2. Unity プロジェクトで、メインメニューに移動して、[アセット]>[パッケージをインポート]>[カスタム パッケージ] の順に選択します。

    3. 開いたファイル ダイアログで、ダウンロードした GDK .unitypackage ファイルを選択し、[開く] をクリックします。

    4. 本体でインポート エラーが表示された場合は、クリア を選択します。 エラーが表示されなくなったら、無視することができます。

    5. 次のスクリーンショットに示すように、完了後はアセット パッケージが アセット フォルダーにある プロジェクト タブに一覧表示されます。

      パッケージ フォルダーに使用される UI のスクリーンショット

    6. 次のスクリーンショットに示すように、GDK という名前の新しいメニュー オプションが Unity メイン メニューに表示されます。

      Unity メイン メニューの GDK オプションに使用される UI のスクリーンショット

  3. Xbox 向けに開発する場合は、Xbox 用の Unity パッケージもインストールする必要があります。

    1. Game Core 向けの Unity プライベート フォーラム に移動します。 Game Core ダウンロード用 Unity と呼ばれる固定された投稿に移動してからそのリンクを選択します。

    2. パッケージをダウンロードできるリンクがあります。 GDK パッケージは既にこのパッケージに含まれているので、ダウンロードする必要はありません。 他のパッケージをダウンロードする必要がない場合もあります。 パッケージをダウンロードする必要があるかどうか判断するには、それらの説明をお読みください。

これで、お使いの Unity ゲームへの GDK 統合を開始するのに必要なものがすべて揃いました。

Hello World Unity のサンプルを使用して、GDK と Unity パッケージのセットアップをテストします。

このセクションでは、Hello World の Unity サンプル を実行する方法について説明します。

  1. [ファイル]>[シーンを開く] を選択し、[Your project directory]\Assets\GDK-Tools\Examples\Sign-in\SignIn.unity にあるサンプル シーンを開きます。

  2. [ファイル]>[ビルド設定] の順に選択して、Unity メイン メニューの [ビルド設定] ウィンドウを開きます。

  3. [開いているシーンを追加] を選択してサンプル シーンを追加します。

  4. 選んだ可能性があるその他のシーンの選択を取り消します。 これで、サンプル シーンだけが選択されていることになります: GDK-Tools/Examples/Sign-in/SignIn

  5. [ビルド設定] ダイアログ ボックスを閉じます。

  6. メイン メニューで、[GDK]>[PC]>[ビルドして実行] の順に選択します。

  7. [GDK - PC を ビルドして実行] ダイアログ ボックスには、サンプル シーンが 1 つだけあります: Assets/GDK-Tools/Examples/Sign-in/Basic.unity

  8. ダイアログ ボックスで Define MICROSOFT_GAME_CORE を確認します。

  9. ダイアログ ボックスで [ビルドして実行] を選択します。

  10. サンプル ゲームを起動したときに、Xbox サービスへのサインインを促すポップアップが表示された場合は、GDK と Unity のパッケージは正しくセットアップされています。
    実績を解除 は、実績サンプル シーンではまだ作動しないことに注意してください。

最初の Unity ゲームをビルドして実行しました。 ご自身のゲームに GDK を統合できるようになりました。

パートナー センターで製品を作成する

Xbox サービスの機能をテストしたり、ゲームをMicrosoft Storeに公開したりする前に、パートナー センターで Xbox サービス対応製品を作成する必要があります。 パートナー センターの詳細については、「パートナー センターでアプリまたはゲームをセットアップする (対象パートナー向け)」をご覧ください。

ゲームを Microsoft Store に関連付ける

ゲームが Xbox サービスにアクセスできるようにするには、ゲームの設定を最後のステップで作成したパートナー センター プロジェクトの値に一致させる必要があります。

  1. 次のスクリーンショットで示すように、トップ レベル メニューで Unity に移動し、[GDK]>[Microsoft Store に関連付ける] を選択して、Microsoft Game 構成エディターを開きます。

    Microsoft Storeに関連付けるメニュー オプションの UI のスクリーンショット

  2. 開いたウィンドウでは、次のスクリーンショットで示すように、[ストアを関連付ける] を選択します。

    ストアに関連付ける UI のスクリーンショット

  3. 開いたウィンドウで、ウィザードに記載されている手順に従います。

  4. 残りの必要な情報は、パートナー センター プロジェクトの値で入力してください。

    • [Publisher (発行元)] フィールドが必要です。 パートナー センター内の値は、[パッケージ/ID/発行元] 行にあります。
    • [タイル画像] フィールドは既定の画像をそのまま使用できます。
    • [PC] タブを選択すると、マルチプレイヤー プロトコル、カスタム インストーラー、フレームワークの依存関係などの追加機能を指定できます。
  5. [Save] をクリックします。

テスト アカウントの作成

Xbox サービスの機能をテストできるようにするには、開発サンドボックスへのアクセス権があるテスト アカウントを作成する必要があります。 テスト アカウントの作成の詳細については、「テスト アカウントを作成する」をご覧ください。

Xbox アプリをダウンロードする

Xbox アプリは、テスト アカウントがサインインしていることを確認するのに役立ちます。 アプリはこちらでダウンロードできます: Xbox アプリ

開発サンドボックスに切り替える

テスト アカウントを作成したら、次の手順に従って、アカウントを使用して開発サンドボックスにアクセスできます。

  1. サンドボックス ID を検索するには、パートナーセンターに移動します。

  2. ゲームに移動します。

  3. 左側のナビゲーション ウィンドウで、Xbox サービス>ゲームプレイの設定 を選択します。

    注意

    サンドボックス ID は、[ゲームプレイ設定] ページの左上隅にある最初のタブにあります。 "ABCDEF.0" のような名前が付けられています。

  4. Unity で、[GDK]>[PC]>[サンドボックスの切り替え] に移動して、[サンドボックス スイッチャー] を開きます。

  5. 次のスクリーンショットに示すように、サンドボックスのドロップダウン リストにサンドボックスが自動的に設定されます。

    サンドボックスを切り替える UI のスクリーンショット

  6. サンドボックスを切り替える ボタンを選択します。

  7. サンドボックスが正常に切り替えられたことを確認するには、[アプリの起動] を選び、Microsoft Store アプリ、Xbox アプリ、Xbox コンソール コンパニオンをもう一度開きます。

  8. 先に作成した Xbox テスト アカウントのユーザー名とパスワードを使用して Xbox アプリにサインインします。 サインインできることを確認します。

開発用サンドボックスからリテール モードに戻すには

  1. Unity で、[GDK]>[PC]>[サンドボックスの切り替え] に移動します。

  2. サンドボックス ドロップダウン リストから リテール を選択します。

  3. サンドボックスを切り替える ボタンを選択します。

  4. アプリの起動 を選択します。

  5. アプリのいずれかを開きます。 テスト以外のアカウントでサインインしてから、サインインできることを確認するようにしてください。

ゲームへの Xbox サービスの追加

このセクションでは、Xbox サービス サインイン、クラウド保存、実績と広告をゲームに追加する方法について説明します。

Xbox サービスを有効にしてゲームをビルドして実行する

2207 GDK Unity パッケージより前

2207 GDK Unity Package より前では、Xbox サービスを有効にしてゲームを実行するには、GDK [ビルドして実行] コマンド (GDK>PC>ビルドして実行) を実行する必要がありました。

2207 GDK Unity パッケージ

2207 GDK Unity Package の時点で、標準の [Unity ビルドして実行] コマンド ([File]>[ビルドして実行]) を使用してゲームを実行できます。 [GDK Build and Run] コマンド ([GDK]>[PC]>[ビルドして実行]) を使用する場合 2022 年 3 月の GDK アップデート 1 または 2022 年 6 月の GDK 以降を使用します。
さらに、エディター内で実行中に Xbox サービスを有効にすることもできます。

エディタ内でプレイできるようにするには、プロジェクトを Microsoft Store アプリに関連付けた後 (または、MicrosoftGame.Config に変更を加えるたびに)、[GDK]>[PC]>[Update Editor Game Config] を使用します。 アクセス許可のプロンプトが表示され、MicrosofGame.Config がエディターの実行可能な場所にコピーされます。 次に、[GDK]>[PC]>[ビルドして実行] メニューで [Define MICROSOFT_GAME_CORE] を有効にします。 それ以降は、エディター内でテストできます。

サインイン

Unity でサインインを実装するには、GdkHelper プレハブをシーンに追加する必要があります。
Unity の [プロジェクト] ウィンドウで、\Assets\GDK-Tools\Prefabs\GdkHelper.prefab に移動し、ご自身のシーンに GdkHelper プレハブをドラッグします。

新しい機能をテストするには、上記の [開発サンドボックスへの切り替え] セクションの手順に従って開発サンドボックスに切り替えてから、[GDK]>[PC]>[ビルドして実行] を選択してゲームをビルドして実行します。
サインインがうまくいかない場合は、サインインとサンドボックスのトラブルシューティングに関する記事のヘルプをご覧ください。

クラウド保存

ゲームにクラウド セーブ機能を追加するには、GDK.Helpers.Save および GDK.Helpers.LoadSaveData 関数を使用する必要があります。
クラウド保存の統合の例については、Assets\GDK-Tools\Examples\Cloud Saves\GameSaveSampleLogic.cs の [プロジェクト] ウィンドウでサンプル コードをご確認ください。

新しい機能をテストするには、上記の [開発サンドボックスへの切り替え] セクションの手順に従って開発サンドボックスに切り替えてから、[GDK]>[PC]>[ビルドして実行] を選択してゲームをビルドして実行します。

実績

ゲームに実績へのサポートを追加するには、GDK.Hellpers.UnlockAchievement 関数を使用する必要があります。
実績のロック解除の統合の例については、Assets\GDK-Tools\Examples\Achievements\UnlockAchievementSampleLogic.cs の [プロジェクト] ウィンドウでサンプル コードをご確認ください。

ゲームで実績のサポートを追加するだけでなく、以下のセクションで説明するように、実績の公開を有効にし、パートナー センターで実績を作成する必要があります。

パートナー センターでの実績の公開を有効にするには

  1. 必ず サインイン が機能することを確認して、実績を実装します。

  2. パートナー センターに移動します。

  3. 次のスクリーンショットに示すように、左側のウィンドウで [Xbox の設定] を選択します。

    Xbox の設定に使用する UI のスクリーンショット

  4. 次のスクリーンショットに示すように、リテールに実績を公開しますか? という質問で はい、実績を公開します を選択します。

    「はい、実績を公開します」 に使用する UI のスクリーンショット

パートナー センターで新しい実績を公開するには

  1. 次のスクリーンショットに示すように、左側のウィンドウの [Xbox サービス] セクションで [ゲームプレイ設定] を選択します。

    Xbox Live 設定に使用する UI のスクリーンショット

  2. [実績] ページに移動するには、実績 リンクを選択します。

  3. 新しい実績 を選択します。 必要な情報を入力します。

  4. 新しい実績を作成したら、[実績] フィールドの実績 ID を控えます。 自動生成され、"1" のような文字列になります。

  5. [公開] を選択して、[ゲームプレイ設定を公開] ダイアログ ボックスを開きます。

  6. 移動先 フィールドを 先に 作成した開発者サンドボックスに変更します [確認] を選択します。

  7. 公開プロセスが完了するまで待ちます。

新しい機能をテストするには、上記の [開発サンドボックスに切り替える] セクションの手順を使用して開発用サンドボックスに切り替え、[GDK]>[ビルドして実行] を選択してゲームをビルドして実行します。

ゲームへのコマースの追加

ゲーム内で購入を行うには、GDK.Helpers.ShowPurchaseUIAsync および Gdk.Helpers.GetAssociatedProductsAsync 関数を使用します。 インゲーム ストアの実装例として、Assets\GDK-Tools\Examples\In Game Store の [プロジェクト] ウィンドウにあるゲーム ストアの例を参照してください。

ゲームにコマース サポートを追加したら、[ゲームにアドオンを作成する] および [コマースをテストするための準備] の手順に従って、購入用のアドオンを作成し、ゲームのコマースをテストする準備をする必要があります。

ゲームにアドオンを作成する

このセクションでは、パートナー センター内でご自身のゲーム内アイテムのリストを作成する方法について説明します。

  1. パートナー センターに移動します。

  2. ゲームに移動します。

  3. 左側のナビゲーション ウィンドウで、[アドオン] を選択します。

  4. 上部の [新規作成...] ボタンをクリックします。 適切なカテゴリを選択します

  5. 必要な情報を入力し、必要な追加のゲーム内アイテムを作成します。

  6. テーブル内のアドオンをクリックして、その詳細を確認します。

  7. 左側のナビゲーションで、[非消費型] アイテム設定ページを選択します。(消費型アイテムを作成した場合は [消費型] アイテム設定ページを選択します。)

  8. [ID の詳細] セクション内で [詳細の表示] ボタンをクリックします。

  9. [Store ID] フィールドの値をコピーします。 この値は、このセクションの後半で ShowPurchaseUIAsync に渡されます。

  10. 残りの必須フィールドに情報を入力します。 テストを簡単にするために価格を無料に設定します。

  11. 完了したら、ご自身の開発者サンドボックスに公開します。

広告機能をテストする

このセクションでは、ストア API をテストするためにご自身の環境を準備する方法について説明します。 詳細については、「XStore の開発とテストの有効化」を参照してください。
コマース機能をテストするには、まず、[パートナー センターでの公開] セクションの説明に従って、ゲームのパッケージをパートナー センターにアップロードする必要があります (アップロード先として、リテールの代わりに、開発サンドボックスを選択する必要があります)。

  1. 上記の [開発サンドボックスに切り替える] セクションの手順を使用して、開発用サンドボックスに切り替えます。

  2. Xbox アプリでご自身のゲームを検索します。

  3. ご自身のゲームをダウンロードしてインストールします。 これは、ご自身のテスト アカウントにゲームのライセンスを付与するための重要な手順です。 ライセンスがないと、E_IAP_UNEXPECTED エラーが発生します。

  4. 本体の場合、コンテンツ ID と EKB ID の値を取得するには、ゲーム コマンド プロンプト内で xbapp list /d を実行します。

  5. PC の場合、コマンド プロンプトを開いて次のように入力すると、コンテンツ ID の値を取得できます: reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Store\ContentId

  6. ご自身のゲーム パッケージのコンテンツ ID の値を見つけます。

  7. \GDK-Tools\ProjectMetadata に移動し、MicrosoftGame.config ファイルを開きます。 注: これは Unity 内で開くことはできません。 代わりに、エクスプローラー内でフォルダーを参照し、別のプログラムで開く必要があります。

  8. ContentIdOverride 値を、上記で取得した値に置き換えます。 本体の場合は、EKBIDOverride も設定する必要があります。 ただし、本体の MicrosoftGame.config 値は、PC とは異なる場所で設定されていることに注意してください。 Xbox の場合、これは、Xbox ビルド プラットフォームの [プレイヤーの設定...]>[公開の設定] にあります。

関連項目

XStore の開発とテストの有効化ストア統合のトラブルシューティングサインインとサンドボックスのトラブルシューティング

出荷前のその他の考慮事項

必須の更新プログラムの確認

必須のアップデートのチェックは、コードを記述することなく、コンソール上で、PC 上の PC Bootstrapper を介して自動的に行われます。

サーティフィケーション テスト ケース

出荷前に、ポリシーと Xbox の要件を確認することをお勧めします。

TCUI ダイアログを使用する Unity の考慮事項

タイトルで呼び出し可能な UI (TCUI) ダイアログを表示するゲームでは、"Application.runInBackground" を true に設定することをお勧めします。 TCUI ダイアログの正常に表示するための追加情報については、「ウィンドウの表示モードとタイトルで呼び出し可能な UI のダイアログ」を参照してください。

パートナー センターでの公開

このセクションでは、パートナー センターでゲームのパッケージ化、アップロード、公開を行う方法について説明します。

  1. Unity で、 [GDK]>[PC]>[ビルドして実行]に移動します。

  2. 次のスクリーンショットに示すように、パッケージを作成してストアにアップロード を選択します。

    Microsoft Store にアップロードするパッケージを作成する UI のスクリーンショット

  3. ビルド を選択します。

  4. メッセージが表示されたら、ビルド パッケージ ファイルのフォルダーを選択します。

  5. ビルドが完了すると、必要なファイルを含むフォルダーが開かれ Microsoft Store にアップロードできます。

  6. パートナー センターに移動します

  7. 次のスクリーンショットに示すように、ウィンドウで [公開] を選択します。

    パッケージに使用される UI のスクリーンショット

  8. 次のスクリーンショットに示すように、ドラッグ領域にファイルをドラッグして、このセクションの手順 5 の .msixvc、.ekb、.xml ファイルをアップロードします。 .msixvc ファイルをアップロードできない場合は、Microsoft の担当者にお問い合わせください。

    ファイルのアップロードに使用される UI のスクリーンショット

  9. 次のスクリーンショットに示すように、[プロパティ]、[年齢区分]、[ストアの一覧]、および [価格と使用可能状況] セクションに必要な情報を入力します。

    プロパティ、年齢評価、ストアの一覧、価格と使用可能状況に使用される UI のスクリーンショット

  10. ストアの一覧 ページで、予告編をアップロードするようにします。 予告編は UI には必須ではありませんが、ゲームには必要です。

  11. 次のスクリーンショットに示すように、公開するには レビューして公開 を選択します。

    パートナー センターでレビューして公開に使用される UI のスクリーンショット

  12. リテール を選択します。 これで、ゲームをサーティフィケーションに送信できます。

    注意

    収益 SKU に関するエラーが表示された場合は、サーティフィケーション プロセスの一部として作成されます。 パッケージをリテールに公開するには、サーティフィケーションを通過する必要があります。

  13. ゲームがサーティフィケーションを通過したら、リテールにリリースすることができます。 ゲームの概要 ページの 公開状態 セクションで、ゲームがサーティフィケーションを通過したことを確認することができます。

関連項目

サインインとサンドボックス エラーのトラブルシューティング