Skip to main content

GSDK をプロジェクトに追加する

この記事では、既存のプロジェクトを PlayFab Multiplayer Servers (MPS) 上でホストできるようにアップグレードする方法について説明します。この手順には、Unreal プロジェクトへの PlayFab GSDK の追加と構成が含まれます。ここでの手順は、Unreal ThirdPersonMP テンプレートプロジェクトを使用して記述されています。 Unreal プロジェクトには以下の機能が必要です:
  • ネットワーキング
  • マルチプレイヤー
  • 専用ゲームサーバー
そうでない場合は、サンプルプロジェクトのセットアップ ガイドに戻り、専用サーバー機能を備えたネットワーク対応マルチプレイヤーゲームとしてプロジェクトを構成する必要があります。

目標

PlayFab Unreal GSDK をプロジェクトに追加および構成し、ローカルでテストして PlayFab Multiplayer Services 上で動作することを確認します。

要件

C++ 実装

プロジェクトへのプラグイン追加

以下の手順に従って Unreal GSDK をプロジェクトに追加します:
  • Unreal プロジェクトに移動します
  • File Explorer を開き、ゲームのルートディレクトリに Plugins フォルダーを作成します。Plugins フォルダー内に PlayFabGSDK というフォルダーを作成します。
  • {depot}\GSDK\gsdk\UnrealPlugin に移動します。UnrealPlugin フォルダーのすべてのファイルを Plugins/PlayFabGSDK フォルダーにドラッグします。
  • 最後に、任意のテキストエディタで {ProjectName}.uproject ファイルを開きます。plugins 配列に「PlayFabGSDK」プラグインを追加します。
以下の例を参照してください:

モジュールへのプラグインの組み込み

  • {ProjectName}.Build.cs ファイルを更新し、次のように「PlayFabGSDK」を PublicDependencyModuleNames.AddRange(); リストに追加します:
  • {ProjectName}.uproject ファイルを右クリックし、Switch Unreal Engine version オプションを選択します。これで、現在使用している Unreal Engine のバージョンをすばやく確認できます。以下に示すポップアップが表示されます。Unreal Engine のバージョンがすでに source build であることが確認できた場合、変更する必要はないため、Cancel をクリックします。現在の Unreal バージョンが source build でない場合は、ドロップダウンリストから選択して OK をクリックします。
「Select Unreal Engine Version」と表示されたウィンドウを示す画像
  • {ProjectName}.uproject ファイルを再度右クリックし、「Generate Visual Studio Project Files」を選択します。
  • 最後に、Visual Studio でプロジェクトをビルドし、Development Editor 構成を選択して Editor を起動します。
Development Editor モードでビルドするオプションが表示された Visual Studio の画像

プロジェクトのセットアップ

プロジェクトでサーバーモードを有効にすると、{ProjectName}Server.Target.cs ファイルが作成されます。 結果は以下のようになります:
Windows ビルドの場合、以下のオプション構成の追加が必要になる場合があります:
注: これらの構成は Linux サーバーのビルドには無効です。

GameInstance クラスの作成/更新

GameInstance クラスの作成

プロジェクトをゼロから作成しており、まだ GameInstance クラスがない場合は、まず以下の手順に従って GameInstance クラスを作成してください。すでに GameInstance クラスがあるプロジェクト (たとえば Unreal のサンプルライブラリの ShooterGame) を使用している場合は、GameInstance クラスを変更する セクションに進んでください。
Unreal Editor で:
  • Files を選択します
  • Create a new C++ class を選択します
  • Show all classes を選択します
  • 検索フィールドに GameInstance と入力します
    • 説明どおりに直接選択することで、すべてが正しく生成され、以下で説明する関数を追加できます
  • Unreal を閉じて、source build モードでもう一度 プロジェクトファイルを生成 します
  • Visual Studio を使用して、新しく作成されたファイルを開き、以下の手順に従って GameInstance クラスを変更します。

GameInstance クラスの変更

プロジェクトのセットアップによっては、C++ または Blueprint を使用して GameInstance クラスを変更できます。両方の方法を以下に示していますので、ニーズに合った方を選択してください。

C++ 実装

GameInstance クラスを見つけます。通常は {ProjectName}GameInstance や MyGameInstance のような名前になっています。今後、GameInstance クラスは [YourGameInstanceClassName] と表記します。
GameInstance ヘッダーファイルの変更
まず、include 文を確認し、GameInstance クラスのヘッダーファイル ([YourGameInstanceClassName].h) に以下が含まれていることを確認します:
[オプション] 以下のコードを使用すると、GameInstance 専用のログチャンネルを導入できます。または、LogTemp を使用したロギングでも十分です。
次に、public セクションに以下の宣言を追加します: (すでに Init() 関数がある場合、追加の宣言は必要ありません)
次に、メソッドの protected セクションに以下の宣言を追加します:
GameInstance CPP ファイルの変更
次に、[YourGameInstanceClassName].cpp ファイルを見つけます。 以下が含まれていることを確認します:
ヘッダーファイルでカスタムログチャンネルを導入した場合は、以下のコードが必要です:
次に、Init() 関数を見つけます。まだ Init() 関数を 持っていない 場合は、次のように関数を追加します:
Init() 関数の作成

すでに Init() 関数が あった 場合は、[YourGameInstanceClassName].cpp ファイルで、そのインスタンスが専用サーバー用かどうかを示す変数があるかを確認します。この変数が見つかった場合、Init() 関数の最後に以下を追加します:
既存の Init() 関数の変更
MPS のデフォルトポートを設定する以下の関数を呼び出して、Init() 関数を完成させます

最後に、これらのメソッド実装を [YourGameInstanceClassName].cpp ファイルの末尾に追加します:

Blueprint 実装

この部分は、純粋な C++ 実装ではなく Blueprint 実装で進めることを決定した場合にのみ必要です。
  • Unreal Editor で Content Browser ウィンドウを確認します
  • 新しい Blueprint を格納するフォルダーを選択または作成します
  • 右クリックして Blueprint クラスを作成します
  • All classes ドロップダウンメニューで、GameInstance クラスを見つけます
    • この例では、Blueprint に「MyGameInstance」という名前を付けています
  • Blueprint をダブルクリックします
  • 左側で function フィールドにマウスをホバーし、Override ドロップダウンを選択します
  • Init 関数を選択します
  • グラフ内で右クリックして、すべての register GSDK 関数を追加します
  • GSDK Shutdown と Maintenance Delegate については、赤い四角から線を引き出し、「Add Custom Event」を選択します
  • 「Register GSDK Health Check Delegate」については、「Event Dispatchers」の「Create Event」を選択します。
  • PlayFab GSDK Health Check 追加
  • 新しいノードのドロップダウンで「Create matching function」を選択します。GSDK Health Check Delegate には戻り値があるため、これは重要です。
  • PlayFab GSDK Health Check 登録
  • 関数内で、戻り値のブール値がチェックされていることを確認します。
  • PlayFab GSDK Health Check 関数
  • すべてのノードを Event Init ノードに接続することを忘れないでください。
  • 最後に、「ReadyforPlayers」ノードを追加して、PlayFab の準備完了信号に応答できるようにします。
  • また、GSDK が期待するポートに接続するために「SetDefaultServerHostPort」ノードを追加することも忘れないでください。
  • Blueprint に追加したいすべての GSDK 関数/ノードについて、新しいノードで関数名の最初の数文字を入力し、期待される GSDK 関数が候補に表示されることを確認できます。
  • 最終的に、Blueprint は以下の画像と同様になるはずです。
  • PlayFab GSDK フルグラフ

GameInstance クラスの設定

gsdk と統合するカスタム GameInstance クラスを作成した後、この新しく作成した GameInstance クラスを実際に使用するようにプロジェクトを構成する必要があります。これには、Unreal Engine エディタを使用する方法と、DefaultEngine.ini を直接編集する方法の 2 つがあります。

Unreal Editor で

エディタでは、UI を通じてデフォルトの GameInstance を設定できます。エディタで Edit -> Project Settings に移動します。開いたウィンドウから、左側の Maps&Modes に移動します。一番下までスクロールし、GameInstanceClass オプションを新しい GameInstance クラスに直接設定できます (誤字を避けてください。完全一致である必要があります)。

DefaultEngine.ini で

または、DefaultEngine.ini ファイルを更新して以下の行を追加できます:

Windows 専用サーバーの前提条件を含める

app-local 前提条件を含める方法には、Unreal Engine エディタを使用する方法と、DefaultGame.ini を編集する方法の 2 つがあります。

Unreal Editor で

エディタで Edit -> Project Settings に移動します。開いたウィンドウで、左側の Packaging に移動します。リストの一番下までスクロールし、「Include app-local prerequisites」にチェックを入れます。

DefaultGame.ini で

または、DefaultGame.ini を以下のコードで更新できます:
DefaultGame.ini にすでにカテゴリが存在する場合、そこに 2 行目を追加するだけです。この構成により、app local の依存関係がすべてプロジェクトとともに配布されるようになります。 継続的インテグレーション (CI) を使用している場合は、専用サーバーをビルドするときのみこのフラグをオンにするようにセットアップに追加でき、専用サーバービルドの場合にのみ前提条件の dll が追加されるようにできます。

次のステップ

これで、ローカルマシンで プロジェクトをビルド する準備ができました。 または、メインの Unreal GSDK Plugin ガイドに戻ることもできます。
最終更新日 2026年8月25日