Online Services プラグインとそのインターフェースは、特に Epic Online Services (EOS) の各種オンライン サービスの機能にアクセスするための一般的な方法を提供します。Online Services プラグインを介して EOS を活用するには、Online Services EOSGS と Online Services EOS プラグインを使用します。このページでは、プラグインとインターフェースの各サポート間の違いの概要に加えて、Unreal Engine プロジェクトで使用するためにこれらのプラグインを有効にして設定する方法について説明します。
プラグインの構造
Online Services プラグイン の EOS 実装は、別のブラグインに分かれています。
- Online Services EOSGS
- Online Services EOS
Epic Online Services Game Services (EOSGS) プラグインは、EOS Game Services 機能に対応しています。Online Services の Epic Online Services (EOS) プラグインは EOSGS プラグインを補完し、Epic Account Services 機能に対応しています。EOS Game Services と Epic Account Services を活用するには、プロジェクトで両方のプラグインを同時に使用します。
実装インターフェース
次の表に、これらのプラグインが実装しているインターフェースを示します。
| インターフェース | Online Services EOSGS | Online Services EOS |
|---|---|---|
| Achievements | ✓ | |
| Auth | ✓ | ✓ |
| Commerce | ✓ | |
| 外部 UI | ✓ | |
| Leaderboards | ✓ | |
| Lobbies | ✓ | |
| Presence | ✓ | |
| Sessions | ✓ | |
| Social | ✓ | |
| Stats | ✓ | |
| Title File | ✓ | |
| User File | ✓ | |
| User Info | ✓ |
Online Services または Online Subsystem を選択する
Online Services EOSGS および EOS プラグインは Online Subsystem プラグインの改善されたバージョンで、Online Subsystem EOS が Online Subsystem 用の Epic Online Services Software Developer Kit (EOS SDK) を実装しているのと同様に、Online Services 用の EOS SDK を実装しています。プロジェクトに適切な情報については、「Online Services の概要」のドキュメントの「Online Services または Online Subsystem を使用する」を参照してください。
Online Services EOS プラグインを有効にする
Unreal Engine プロジェクトで Online Services EOSGS または Online Services EOS を有効にするには、以下の手順に従います。
- Unreal Engine C++ プロジェクトトを作成するか、これを開きます。
- Unreal Editor のメニュー バーで、[Edit (編集)] > [Plugins (プラグイン)] に移動します。新しいウィンドウまたは [Plugins (プラグイン)] というタイトルのタブを開きます。
- この新しいウィンドウで、「Online Services」を検索するか、左側のナビゲーション バーから [Online Platform (オンラインプラットフォーム)] カテゴリを選択します。
- プラグインの数が表示されます。Online Services ベース プラグインはデフォルトで有効になっています。
- 使用するプラグインを有効にします。
- Online Services EOS
- Online Services EOSGS
「You must restart Unreal Editor for your changes to take effect (加えた変更を有効にするには、Unreal Editor を再起動する必要があります)」という警告メッセージが表示されます。必要なプラグインすべてを有効にし、Unreal Editor の再起動の準備ができている場合、[Restart Now (今すぐ再起動)] をクリックします。
有効にした Online Services EOS プラグインは、Unreal Engine プロジェクトで使用する準備ができています。
デベロッパー ポータル
Online Services EOS プラグインを利用するには、Epic Online Services に組織と製品が登録および設定されている必要があります。ゲームと Epic Online Services 間で情報を通信するために Online Services EOS プラグインは、EOS 製品に接続します。組織と製品を Epic Online Services に登録するには、Epic Developer ドキュメントの「デベロッパー ポータル」を参照してください。
Unreal Engineを設定する
デフォルトのサービス
プロジェクトで Epic Online Services を使用するには、EOS 実装を使用するように Online Services ベース プラグインを設定する必要があります。EOS をデフォルトのプラットフォーム サービスとして指定するには、プロジェクトの「Config」ディレクトリにあるプロジェクトの「DefaultEngine.ini」ファイルの以下のセクションを追加または編集します。
[OnlineServices]
DefaultServices=Epic
Epic Online Services がデフォルトのサービス プロバイダとして指定されていても、Steam またはコンソール固有のオンライン サービスなどの他のオンライン プラットフォーム サービス実装にアクセスできます。
これを実行するには、使用したい追加のオンライン プラットフォーム サービスの Online Services プラグイン実装を有効にして、UE::Online::GetServices への呼び出しでアクセスしたいサービスを指定します。たとえば、Null サービスにアクセスするには、以下のコード スニペットを使用します。
UE::Online::IOnlineServicesPtr* NullServices = nullptr;
if (UE::Online::IsLoaded(EOnlineServices::Null))
{
NullServices = UE::Online::GetServices(EOnlineServices::Null));
}
// サービスが正常に取得された場合、NullServices は null 以外です
ネットワーク ドライバー
ネットワーク ドライバー設定はオンライン システムに依存しないので、Online Subsystem プラグインの場合、同じ設定が Online Services に有効です。
オンライン システムにネットワーク ドライバーを設定するには、プロジェクトの「DefaultEngine.ini」ファイルに以下のものを追加します。
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
Epic Online Services
Online Services EOSGS およびEOS プラグインは、EOS SDK を使用して Epic Online Services のバックエンドと通信します。プロジェクトが Epic デベロッパー ポータル で設定されているとおりに EOS 製品と直接通信するには、Online Services プラグインを設定する必要があります。
EOS 製品を Unreal Engine プロジェクトに接続するには、プロジェクトの「DefaultEngine.ini」ファイルに以下のものを追加します。
[OnlineServices.EOS]
ProductId=PRODUCT_ID
SandboxId=SANDBOX_ID
DeploymentId=DEPLOYTMENT_ID
ClientId=CLIENT_ID
ClientSecret=CLIENT_SECRET
ClientEncryptionKey=CLIENT_ENCRYPTION_KEY
ここで、PRODUCT_ID、 SANDBOX_ID、DEPLOYMENT_ID、CLIENT_ID、および CLIENT_SECRET を Epic デベロッパー ポータル で製品の [Product Settings (製品設定)] ページにある値に置き換える必要があります。
以下の表では、これらの各設定について説明します。
| 設定 | 説明 |
|---|---|
| 製品 ID | EOS SDK はこの ID を使用して製品を識別します。 |
| サンドボックス ID | 製品はこの ID 値を持つサンドボックスに属します。 |
| デプロイメント ID | ターゲットにするデプロイメント ID です。 |
| クライアント ID | 製品のクライアント ID。この ID は、先頭の 3 文字が「xyz」から始まります。 |
| クライアント シークレット | クライアント ID を確認するために使用するクライアント シークレット。 |
| クライアント暗号化キー | EOS サービスにデータをアップロードする際にデータを暗号化する 64 バイトの 16 進数文字列。他の設定とは異なり、EOS ではこの暗号化キーを管理しません。また、暗号化キーは製品の設定にも格納されません。このキーはゲームに対して固有であり、ユーザーのデータ プライバシーを保護するため、このキーが Epic Games に知らされることはありません。プレイヤーとタイトル データ ストレージのためにデータを暗号化するのに使用されます。 プレイヤーまたはタイトルのファイル ストレージを使用しない場合、デフォルトの暗号化キー (64 ビット) として |
次の手順
Online Services EOS を使用するようにプロジェクトを設定する必要があります。次の手順は、ゲームの Epic Online Services を実装することです。最初にサインインします。
追加情報
詳細については、以下のドキュメント ページを参照してください。
- Epic デベロッパー ポータル サイトのドキュメント
- Unreal Engine ドキュメント サイトのドキュメント