Skip to main content

クイックスタート: PlayFab Online Subsystem

この記事は、Unreal Engine 4 または Unreal Engine 5 で構築されたゲーム用の Lobby、Matchmaking、Party などの PlayFab マルチプレイヤー機能をセットアップして使用するのに役立ちます。Unreal Engine 4 または Unreal Engine 5 でサポートされているプラットフォームとバージョンの完全な一覧については、サポートされているプラットフォーム を参照してください。 このページで対象プラットフォームに関する関連手順に従うと、PlayFab Online Subsystem (PF OSS) の使用を開始する準備が整います。認証、ネットワーキング、VOIP、ロビーへのグループ化、およびマッチメイキングは、他の変更を必要とせずにお客様に代わって処理されます。

PlayFab Online Subsystem のダウンロードとインストール

PlayFab Online Subsystem にアクセスして、PF OSS ソースをダウンロードまたはクローンします。ダウンロードまたはクローンしたリポジトリ名は PlayFabMultiplayerUnreal です。このリポジトリの名前を OnlineSubsystemPlayFab に変更する必要があります。

必要なもの

  • PlayFab TitleID: PlayFab Party および Multiplayer ソフトウェア開発キット (SDK) 用の TitleID を構成していない場合は、PlayFab Party の有効化 を参照してください。

Microsoft Game Development Kit (GDK)、PC、Switch、PlayStation®5、および PlayStation®4

初期セットアップ

Unreal Engine コード ベース

  • OnlineSubsystemPlayFab フォルダーとその内容を Unreal Engine ディレクトリの Engine\Plugins\Online の下にコピーします。
  • GenerateProjectFiles.bat を実行してエンジンのプロジェクト ファイルを作成します。
  • 新しい UE5.sln ファイルを選択してプロジェクトを Visual Studio に読み込みます。
  • ソリューション構成を Development Editor に、ソリューション プラットフォームを Win64 に設定します。Unreal Engine 5 ターゲットを選択してから、Build を選択します。

ゲーム コード ベース

  • プラグイン リストに OnlineSubsystemPlayFab を追加するには、プロジェクト ファイルの Plugins セクションに次の変更を適用します。
    • 出荷しないプラットフォームは削除します
    • Unreal Engine 4 を使用している場合は XB1 の代わりに XboxOneGDK を使用します。Unreal Engine 5 では XboxOneGDK は非推奨です
  • {ProjectName}.uproject ファイルを選択してから、Switch Unreal Engine Version を Unreal Engine コード パスに選択して、ゲーム ソリューション ファイルを生成します。

ゲームの構成

  • どのプラットフォームを対象としていても、ゲームは対象プラットフォームの INI ファイル ([yourGameDirectory]/Platforms/[yourPlatform]/Config にあります) で特定の PlayFab 固有の値を構成する必要があります。
    • XBOX Series X GDK: XSXEngine.ini
    • PC GDK: WinGDKEngine.ini
    • XBOX One GDK: XB1Engine.ini (Unreal Engine 4 を使用している場合は XboxOneGDKEngine.ini)
    • PC Steam: WindowsEngine.ini ([yourGameDirectory]/Config/Windows にもあります)
    • Nintendo Switch: SwitchEngine.ini
    • PS4™: PS4Engine.ini
    • PS5™: PS5Engine.ini
  • 構成の INI セクションが既に存在する場合 (例: Engine.GameEngine) は、次のセクションに示されているものに置き換えます。
  • すべての <REPLACE ME> フィールドをデータで置き換えるようにしてください:
  • UE 5.6 以降では、DriverClassName パラメーターに「/Script/」プレフィックスが必要です。たとえば、"OnlineSubsystemPlayFab.PlayFabNetDriver" の代わりに "/Script/OnlineSubsystemPlayFab.PlayFabNetDriver" を使用します。

プラットフォーム固有の考慮事項

これらすべてが完了したら、ほとんど終わりです。設定する必要のあるプラットフォーム固有のキー パラメーターがいくつかあります。

GDK

GDK でゲームを開発する場合は、プラットフォーム サービスをセットアップします。

Steam

Steam を使用して Win64 用のゲームを開発する場合は、プラットフォーム サービスを定義します。

Switch

Switch の詳細については、Switch PlayFab OSS に付属している ReadMe.md ファイルを参照してください。アクセス権がない場合は、プライベート リポジトリへのアクセスをリクエスト できます。

PS5™ および PS4™

PS5™ および PS4™ の詳細については、PS5™ および PS4™ PlayFab OSS に付属している ReadMe.md ファイルを参照してください。アクセス権がない場合は、プライベート リポジトリへのアクセスをリクエスト できます。

クロスプラットフォーム

ゲームが PlayFab のクロスプラットフォーム ネットワーキング サポートを使用する場合は、接続を許可するプラットフォームを定義します。
すべてのプラットフォームは既定で VoIP を許可します。特定のプラットフォームで VoIP を無効にするには、次の例に示すように、プラットフォーム モデル名を Unreal Engine 構成ファイルに追加します。
これらの手順により、ゲームで使用するために必要な OSS のセットアップが完了します。

ゲーム コードでの使用

PlayFab Online Subsystem は、Game Session の名前として NAME_GameSession のみをサポートします
他の Online Subsystem プラグインの使用と同様です: Game.Build.cs に PublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); を追加してから、他のゲーム プラグインと同じ方法で使用します。 GameSession.cpp のコード例:
GameFriends.cpp のコード例:

トラブルシューティング

問題のトラブルシューティングに役立つ方法です。

Unreal Engine Installed Builds

ユーザーは、GDK ビルド フレーバー上で OnlineSubsystemPlayFab を使用して Unreal Engine Installed Build を作成しようとするときに問題に直面する可能性があります。より完全な解決策が提供されるまで、この問題を正常に克服するための以下のガイダンスを提供します。 Unreal Engine 5.4、5.5、5.6、または 5.7 を使用している場合:
  • 次のランタイム エラーが発生する可能性があります: Runtime dependency Party.dll is configured to be staged from C:\Program Files (x86)\Microsoft GDK\<version>\Party.dll and Engine\Plugins\Online\OnlineSubsystemPlayFab\Platforms\GDK\Redist\Party.dll
  • Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\ に移動します
  • OnlineSubsystemGDK.uplugin を開き、PlayFabParty を無効に設定します:
  • Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\Source\ に移動します
  • OnlineSubsystemGDK.Build.cs を開き、PlayFabParty のインクルージョンをコメント アウトします:
Unreal Engine 5.0 - 5.3 を使用している場合:
  • マシン上で Unreal Engine がインストールされているディレクトリを特定します。
  • Engine\Platforms\GDK\Plugins\Online\PlayFabParty に移動します
  • PlayFabParty.uplugin を開き、PlatformDenyList で Modules 構成を更新します:
  • Installed Build にこれらのプラットフォームが必要な場合は、XB1 (PlayFabParty_XB1.uplugin) と XSX (PlayFabParty_XSX.uplugin) についてもこのプロセスを繰り返します。Installed Build に Win64 も必要なプラットフォームである場合は、PlatformDenyList の配列に Win64 を追加します。
Unreal Engine 4.27+ を使用している場合:
  • マシン上で Unreal Engine がインストールされているディレクトリを特定します。
  • Engine\Platforms\GDK\Plugins\Online\PlayFabParty に移動します
  • PlayFabParty.uplugin を開きます
  • キー WhitelistPlatformsBlacklistPlatforms に置き換えます
  • Installed Build にこれらのプラットフォームが必要な場合は、XboxOneGDK (PlayFabParty_XboxOneGDK.uplugin) と XSX (PlayFabParty_XSX.uplugin) についてもこのプロセスを繰り返します。Installed Build に Win64 も必要なプラットフォームである場合は、BlacklistPlatforms の配列に Win64 を追加します。
Unreal Engine 4.27+ での PlayFabParty.uplugin の Modules 構成例:

Steam でのハンドシェイク失敗

ハンドシェイクの失敗が発生している場合 (例: LogHandshake: IncomingConnectionless: Error reading handshake packet)、設定を確認するためにこの Unreal Engine フォーラムの投稿 を参照してください。

OnlineSubsystemPlayFab のワークフロー

プラットフォーム固有の考慮事項 セクションで説明されている手順では、次のものを含めるように求められます:
Unreal Engine OnlineSubsystemModule は PlayFab 用のオンライン サブシステム インスタンスを作成し、PlayFabSingleton の作成を開始します。この時点で、SDK は FOnlineSubsystemPlayFab::Init() で初期化されます。ここでは、Party と Multiplayer SDK の両方が PlayFab TitleID で初期化されます (この titleID は ゲームの構成 ファイル内で定義されます)。初期化中、メイン オンライン サブシステムとして ⁠CreatePlayFabSocketSubsystem() を使用します。 Multiplayer SDK のワークフロー: FOnlineSubsystemPlayFab::Init() はタイトルに対して InitializeMultiplayer() マルチプレイヤー SDK シングルトンを初期化します。PlayFabLobby.cpp では、FPlayFabLobby::DoWork() が Multiplayer API によってトリガーされる状態変更を処理します (API については Platforms/GDK/Include/PFLobby.h を参照してください)。 Party SDK のワークフロー: FOnlineSubsystemPlayFab::Init() はタイトルに対して InitializeParty() マルチプレイヤー SDK シングルトンを初期化します。OnlineSubsystemPlayFab.cpp では、FOnlineSubsystemPlayFab::DoWork() が Party API によってトリガーされる状態変更を処理します (API については Platforms/GDK/Include/Party.h を参照してください)。 「PlayStation」は Sony Interactive Entertainment Inc. の登録商標または商標です。 「PS4」は Sony Interactive Entertainment Inc. の登録商標または商標です。 「PS5」は Sony Interactive Entertainment Inc. の登録商標または商標です。
最終更新日 2026年8月24日