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

# PlayFab Unreal GSDK プラグインの概要

> PlayFab Unreal GSDK プラグインを扱うすべてのページの概要。

# PlayFab GSDK Unreal プラグインの使い方

この記事では、PlayFab Multiplayer Server SDK (GSDK) の Unreal Online Subsystem (OSS) プラグインを Unreal プロジェクトに統合する方法について説明します。

このプラグインは Blueprint API と C++ API の両方を提供します。Blueprint API を利用する場合でも、Unreal プロジェクトが C++ プロジェクトである必要があり、Blueprint のみのプロジェクトでは動作しません。現在 Blueprint のみのプロジェクトの場合は、プラグインを追加する前に、あらかじめ C++ プロジェクトに変換する必要があります。

このプラグインは、Unreal Engine 4.26、4.27、5.0、5.1 でテストされています。最新の 3 ～ 4 バージョンの Unreal で動作するよう継続的にメンテナンスされます。これらのバージョンで問題が発生した場合は、[Unreal Engine GSDK Repo](https://github.com/PlayFab/gsdk/issues) で issue を作成してください。

これらのガイドを使用する際は、プロジェクト名が異なる場合はすべての **ThirdPersonMP** をご自身のプロジェクト名に置き換えてください。

## 要件

* Visual Studio をダウンロードします。[コミュニティ版](https://visualstudio.microsoft.com/vs/community/) は無料です。
  * 必須のワークロード: .NET デスクトップ開発と C++ によるデスクトップ開発
* Unreal Engine のソース コードをダウンロードします。手順については、[Downloading Unreal Engine Source code (外部)](https://docs.unrealengine.com/ProgrammingAndScripting/ProgrammingWithCPP/DownloadingSourceCode/) をご覧ください。
* まだ実施していない場合は、このリポジトリをローカル マシンに git clone してください
  * `git clone https://github.com/PlayFab/gsdk.git`
  * 以降の手順では、このリポジトリのファイルをプロジェクトに統合します
* \[任意] [LocalMultiplayerAgent](https://github.com/PlayFab/MpsAgent/releases) をダウンロードします
  * \[任意] または、[LocalMultiplayerAgent のソース](https://github.com/PlayFab/MpsAgent/tree/main/LocalMultiplayerAgent) をダウンロードします。
* \[任意] [PlayFab Marketplace プラグイン](https://www.unrealengine.com/marketplace/product/playfab-sdk) または [GitHub のソース版](https://github.com/PlayFab/UnrealMarketplacePlugin/tree/master/PlayFabPlugin/PlayFab)。このプラグインは GSDK には必須ではありませんが、ログインを含む多くの PlayFab サービスで必要になります。

## プロジェクトの作成

Unreal サーバー プロジェクトは、専用サーバー モードを備えたネットワーク対応マルチプレイヤーの Unreal プロジェクトである必要があります。これらの前提条件を満たすプロジェクトがない場合は、[Unreal の前提条件セットアップ ガイド](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-setup) に従ってセットアップしてください。専用サーバーを備えたネットワーク対応マルチプレイヤー プロジェクトが用意できたら、このステップに戻って続行します。

準備ができたら、ネットワーク対応マルチプレイヤー Unreal サーバー プロジェクトを開き、次のステップに進んで Unreal GSDK をインストールします。

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

* GSDK プロジェクト前提条件の詳細
  * 専用サーバー:
    * プロジェクトに個別の \{ProjectName}Server.Target.cs ファイルが必要です
    * このファイルには、専用サーバー モードを有効にするために `Type = TargetType.Server;` が含まれている必要があります
    * Win64 向けに "development server" 構成でビルドすると、出力に \{ProjectName}Server.exe が含まれる必要があります
  * ネットワーク対応:
    * この要件を満たす方法は複数ありますが、要は、クライアントが別のマシン上のゲーム サーバーとネットワーク接続を確立し、意味のある通信ができるようにすることです
    * 手順では Unreal 組み込みのデータ レプリケーション システムを使用しており、この要件の大半を自動的に満たしてくれます
    * ISocketSubsystem などのソケットを介してより直接的に接続を確立することもできますが、こちらはより高度なトピックです
  * マルチプレイヤー:
    * ゲーム サーバーが複数のクライアントからの接続を受け入れ、それぞれと適切に通信できること
    * こちらも Unreal 組み込みのデータ レプリケーションを使えば、この要件のほとんどが自動的に満たされます

マルチプレイヤー プロジェクトが正しく構成できたら、[GSDK のインストール](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup) を行う準備は整いました。このプラグインにより、サーバーを PlayFab Multiplayer Services 上で動作させることができます。

## Unreal プロジェクトのビルド構成

GSDK がインストールされ、プロジェクトに設定されたら、[Unreal プロジェクトをビルド](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project) できます。以降の手順で一連のテストを実施するために、複数のビルド構成が必要になります。

## ローカルでサーバー デプロイをテスト

任意のクライアント ビルドと "Development Server" ビルドが用意できたら、[MPS のデプロイ プロセスをローカルでテスト](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging) し、サーバーが動作することを確認できます。

## PlayFab へのデプロイ

これで PlayFab Multiplayer Services を使ってクラウド上にゲーム サーバーを作成する準備が整いました。PlayFab MPS は [Windows サーバー](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-cloud-deployment) と [Linux サーバー](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab) をサポートします。

## デプロイしたサーバーに接続

最後に、[デプロイしたサーバーに接続](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build) する準備が整いました。

## 謝辞

このプラグインを作成し提供してくださった [Stefan Krismann](https://github.com/stkrwork) に感謝します。

素晴らしい [Dockerfile](https://github.com/narthur157/playfab-gsdk-ue4) を提供してくださった [Nick Arthur](https://github.com/narthur157) に感謝します。

Unreal と Docker に関するコード、サンプル、実例、チュートリアルなど、多大な貢献をしてくださった [Adam Rehn](https://github.com/adamrehn) に感謝します。


## Related topics

- [PlayFab Unreal GSDK プラグインの概要](/ja-jp/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/index.md)
- [PlayFab Multiplayer Unity プラグインの概要](/ja-jp/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/multiplayer-unity-overview.md)
- [PlayFab for Unreal Engine の概要](/ja-jp/services/playfab/sdks/unified-unreal/overview.md)
- [Integrate the PlayFab Unreal Engine Marketplace plugin](/ja-jp/services/playfab/multiplayer/networking/party-unreal-engine-oss-playfab-plugin-integration.md)
- [Unreal Engine クイックスタート](/ja-jp/services/playfab/sdks/unreal/quickstart.md)
