Online Services プラグインは、Epic、Steam、Xbox Live、PSN、NLPN などさまざまなバックエンドのオンライン サービスを Unreal Engine (UE) プロジェクトに接続するのに役立ちます。このガイドでは、以下の方法について説明します。
Online Services プラグインをセットアップする
このウォークスルーでは、例として Online Services Null 実装を使用しています。この実装はバックエンドのオンライン サービスに接続しておらず、テストのために使用しています。Online Services Null プラグインは Unreal Engine で作業するために外部登録またはコンフィギュレーションが必要ないので、これはよい開始点になります。Online Services プラグインでサポートされているサービスのリストについては、「Online Services の概要」ドキュメントを参照してください。
Online Services プラグインを有効にする
さまざまな Online Services プラグインをプロジェクトで使用できます。Online Services ベース プラグインはデフォルトで有効になっています。
追加の必要な機能を有効にするには、以下の手順に従います。
- Unreal Engine C++ プロジェクトを作成するか、これを開きます。
- メニュー バーで、[Edit (編集)] > [Plugins (プラグイン)] に移動します。新しいウィンドウまたは [Plugins (プラグイン)] というタイトルのタブを開きます。
- この新しいウィンドウで、「Online Services」を検索するか、左側のナビゲーション バーから [Online Platform (オンラインプラットフォーム)] カテゴリを選択します。
- プラグインの数が表示されます。これらのいずれかは Online Services Null というタイトルです。ボックスを選択して、Online Services Null プラグインを有効にします。
(w:800)バックエンドのオンライン サービスに Epic Online Services を使用する場合、Online Services Null ではなく、Online Services EOS を選択します。これを行うには、製品を Epic Online Services に登録して、Online Services プラグインが想定どおりに動作するように適切にバックエンドを設定する必要があります。
- 「You must restart Unreal Editor for your changes to take effect (加えた変更を有効にするには、Unreal Editor を再起動する必要があります)」というメッセージが表示されます。[Restart Now (今すぐ再起動)] をクリックして、Unreal Editor を再起動します。
- これで、プロジェクトで Online Services Null プラグインが有効になりました。
Online Services プラグインをプロジェクトの依存関係に追加する
Online Services プラグインをプロジェクトの C++ コードで使用するには、プラグインをプロジェクト モジュールにパブリック依存関係として追加する必要があります。
プラグインをプロジェクト モジュールのパブリック依存関係に追加するには、以下の手順に従います。
- Unreal Editor で Unreal Engine C++ プロジェクトを開きます。
- [Tools (ツール)] > [Open Visual Studio (Visual Studio を開く)] を選択して、Visual Studio を開きます。これにより、Visual Studio でプロジェクトの C++ ソース ファイルが開きます。
- Online Services プラグインで提供されている C++ コードを使用するには、
OnlineServicesInterfaceモジュールをパブリック依存関係としてプロジェクトの「.Build.cs」ファイルに追加する必要があります。 - プロジェクトの「.Build.cs」ファイルを [Solution Explorer] から開くには、[Games (ゲーム)] > [YOUR_GAME] > [Source (ソース)] > [YOUR_GAME] > [YOUR_GAME].Build.cs に移動します。
-
OnlineServicesInterfaceとCoreOnlineを.Build.csパブリック依存関係に追加します。.Build.csファイルは次のようになります。// Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyProject : ModuleRules { public MyProject(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "OnlineServicesInterface", "CoreOnline" }); } } - 変更を Visual Studio に保存します。
プロジェクト ファイルを生成する
変更をプロジェクトの .Build.cs ファイルに加えたので、Visual Studio プロジェクト ファイルをリフレッシュする必要があります。これにより、加えた変更が Visual Studio Intellisense に反映され、追加したプラグインの機能を使用できるようになります。
プロジェクト ファイルを生成するには、以下の手順に従います。
- Visual Studio を閉じます。
- Unreal Editor で開いているプロジェクトに戻ります。
- [Tools] > [Refresh Visual Studio Project (Visual Studio プロジェクトのリフレッシュ)] を選択して、Visual Studio プロジェクト ファイルを再生成します。
プログレス バーが表示され、コード プロジェクトへの更新ステータスを示し、プロセスが完了したときに消えます。
デフォルトのプラットフォーム サービスを設定する
最後の手順では、Online Services プラグインのデフォルトのプラットフォーム サービスを指定します。デフォルトのプラットフォーム サービスは、UE::Online::GetServices を呼び出して返されるバックエンド プラットフォーム サービスを指定します。使用可能なプラットフォーム識別子のリストについては、「Overview of Online Services の概要」ドキュメント ページを参照してください。
Online Services Null をデフォルトのプラットフォーム サービスとして指定するには、次の手順に従います。
- プロジェクトを Visual Studio で開きます。これを行うには、Unreal Editor 内で [Tools] > [Open Visual Studio (Visual Studio を開く)] に移動します。
- プロジェクトの「DefaultEngine.ini」ファイルを Visual Studio の [Solution Explorer (ソリューション エクスプローラー)] で開くには、[Games] > [YOUR_GAME] > [Configs (コンフィグ)] > DefaultEngine.ini に移動します。
-
プロジェクトの「DefaultEngine.ini」ファイルに次を追加します。
[OnlineServices] DefaultServices=Null
Online Services Null は、バックエンドのオンライン サービスを使用しないオンライン サービスの実装です。これは、バックエンドのオンライン サービスなしでオンラインサービスの実装をテストおよびデバッグするために使用されています。別のバックエンドのオンライン サービスをプロジェクトのデフォルト オンライン サービスとして使用する場合、「Online Services の概要」の「コンフィギュレーション」セクションで提供されているリストからいずれかを選択できます。
プロジェクトの Online Services にアクセスする
プロジェクトで使用するために、Online Services プラグインが有効になっていて設定されています。Online Services プラグインとその各種インターフェースにアクセスするには、以下の手順に従います。
#include "Online/OnlineServices.h"を Online Services プラグインにアクセスするファイルに追加します。IOnlineServicesPtr OnlineServicesPtr = UE::Online::GetServices();でデフォルトのプラットフォーム サービスへのポインタを取得します。
これで、さまざまな Online Services プラグイン インターフェースの機能にアクセスできるようになりました。たとえば、Auth インターフェース にアクセスするには、以下の手順に従います。
- デフォルトのプラットフォーム サービスへのポインタを取得していることを確認します。
#include "Online/Auth.h"を Auth インターフェースにアクセスするファイルに追加します。- 次のように、Auth インターフェースへのポインタを取得します。
IAuthPtr AuthPtr = OnlineServicesPtr->GetAuthInterface();
これで、Auth インターフェースのポインタで Auth インターフェースの機能にアクセスできるようになりました。同じロジックが他のすべての Online Services インターフェースで機能します。