UE5 と Epic Online Services を BP のみで利用してみた - まとめとコード置き場

ここまで雑に書いてきましたが、部分的にノードや Widget のスクショだけを貼ってきていたので、一旦コードとして置いておきます。

GitHub - dany1468/EOSTest

無料の addon 2 つに依存しています

AdvancedSessionPlugin に関しては submodule になっています。
Git - サブモジュール にあるような方法をつかってもらってもいいですし

git clone コマンドの --recursive オプションを使いましょう
git submodule update --init

面倒なら GitHub - mordentral/AdvancedSessionsPlugin: Advanced Sessions Plugin for UE4 からダウンロードしてもらってもいいです。

いずれにしろ、AdvancedSessionPlugin の「現在」の状態で確認しているので、将来的には動かなくなる可能性はあります。

実行に関して

Epic Online Service の設定に関して

上記の Github にあるコードは当然ながら Epic Online Service における開発者情報 (ProductId や ClientId など) は一切含まれていません。
実行する場合には、自身で Developer Portal で発行する必要があります。(最初の記事で書いた通りです)

UE Editor からのデバッグ実行に関して

これは記事内で言及していますが、Standalone で実行する必要があります。

また、これは必須ではありませんが、Run Under One Process が ON になっていると、異なるセッションであっても同じレベルに移動できてしまい「???」という状態になるので、一応気にしておくといいと思います。ただ、通常は ON になっている方が処理も早いので、あくまで気に留めておく程度で。

最後に

ブログ記事にするというこで、できるだけフリーで手に入るものでやってみましたが、ある程度のところで手詰まりにはなってしまいました。

一方で、 AdvancedSessionPlugin を入れるだけで、複数ユーザー(NAT を超えた状態で)とセッションを共有できるようになるのはとても素敵です。(EOS 以外でもできるのだと思いますが 😅)

適宜 C++ の実装も取り込んでいきつつ、使いこなせていけるようになりたいなと思います。