- UE5 と Epic Online Services を BP のみで利用してみる (準備 - ログイン) - You are done!
- UE5 と Epic Online Services を BP のみで利用してみる (セッション作成・一覧・参加) - You are done!
- UE5 と Epic Online Services を BP のみで利用してみる (セッション検索・破棄) - You are done!
ここまで雑に書いてきましたが、部分的にノードや Widget のスクショだけを貼ってきていたので、一旦コードとして置いておきます。
無料の 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++ の実装も取り込んでいきつつ、使いこなせていけるようになりたいなと思います。