SDK のサンプルを眺めて来ましたが、OnlineSubsystem での動作も同様にできるかを確認してみようと思います。
まずは、動作確認というかデバッグできるような環境を作ります。
環境
- Unreal Editor 4.27.2
- Rider for Unreal Engine 2021.3
お昼の仕事の関係で JetBrains 製品の方が慣れているので今回は Visual Studio ではなく Rider を使います
Rider を Unreal Editor の Source Code Editor に設定する
デフォルトだと Visual Studio になっているので、Rider に変更します。Editor Preference から変更できます。
再起動すると、Unreal Editor の 「Open ・・・」が以下のように変わります。
プロジェクトを作成
Unreal Editor から C++ プロジェクトを作成します。今回は EOSPlayground
としました。Rider で開くと以下のようになっています。
OnlineSubsytemEOS を Engine からコピーしてくる
4.27 系では OnlineSubsystemEOS はデフォルトで入っているのですが、デバッグやコードリーディングの環境が欲しいので、Engine からコピーしてきます。
Plugins を作成し | Engine の Plugins から | コピーしてくる |
---|---|---|
Plugin を認識させる
uproject
のコンテクストメニューから「Generate Visual Studio project」を実行します。
すると、Rider のエクスプローラーに Plugins が表示されます。(Intermediate
のコードが変更されているので、通常コード管理されないので注意)
プラグイン一覧に出てきているので、有効化します。
.uproject
に以下のような差分がでるはずです。
+ ], + "Plugins": [ + { + "Name": "OnlineSubsystemEOS", + "Enabled": true + }
Rider 側でビルドしてもいいですし、有効化した時点でビルドが実行されると思うのでそのビルドに任せても大丈夫です。
EOS の設定値を反映
プロジェクト設定から反映します。
Encryption Key には 1111111111111111111111111111111111111111111111111111111111111111
を設定しておきます。( empty にできないというログがでる )
DefaultEngine.ini の設定
EOS Online Subsytem (OSS) プラグイン | Unreal Engine ドキュメント
上記ドキュメントのプロジェクト設定を反映します。特に変更なく、以下を追記する形です。
[OnlineSubsystemEOS] bEnabled=true [OnlineSubsystem] DefaultPlatformService=EOS [/Script/Engine.GameEngine] +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [/Script/OnlineSubsystemEOS.NetDriverEOS] bIsUsingP2PSockets=true
まとめ
今回はプロジェクトの設定のみを行いました。次回は SDK のサンプルで見ていったようにまずはログインから試していければと思います。