マルチネットワーク通信でプレイヤーがレベル移動出来るようにする設定

マルチネットワーク通信のことはあまり分かっていません。
現在「Collab Viewer テンプレート」を使用し、VRモードを使用し
複数人で体験できるようなコンテンツを作成しています。

質問したい内容は表題の通りなのですが、
「CollaborativeViewer_P」から「Open Level」で別の新規で作成したレベルに移動したいと思います。
現在の状態では移動自体が出来るのですが、サーバー側が先にレベルを移動すると、クライアント側がログイン画面に移動してしまい、
クライアント側が先にレベルを移動すると、移動は出来るものの他のプレイヤーが表示されない状態(シングルプレイ?)になります。
一度別のレベルに移動したら、元のレベルに戻っても、ほかのプレイヤーは存在しません。

試したことは、以下の通りです。
サーバーとクライアントの2プレイで検証しています。(最終的には4人ぐらいまで増える予定です。)
Collab Viewerテンプレートを使用し、「CollaborativeViewer_P」のレベルから「スペースキー」を押すことで、
「Open Level」で指定した別のレベル(このレベルを「MapA」とします)に移動するようなものを作成しています。
MapAでは「PlayerStart」を配置しています。
MapAでも同様に「CollaborativeViewer_P」に戻る処理をしています。

シンプルプレイの状態とは違い、マルチプレイならではの設定が必要なのかもしれないと思われます。
「Collab Viewer テンプレート」に限らず、一般的なマルチネットワークの話だと思いますので、
ご存じであればお力を貸していただけないでしょうか?

UnrealEngineのOnlineSubsystemを使ったマルチプレイヤーゲームで、Levelを移動するためには、
Server側を起点としたServerTravelの手順を取る必要があります
Client側から移動しようとすると、接続が切れてしまいます

ServerTravelについては、下記のドキュメントを確認してください

ただし、BlueprintにはServerTravel関連の関数が公開されていないため、ServerTravelを実施するには、コンソールコマンドを通して行う必要があります

servertravel <LevelName>

添付画像はその例です
後半のLevel名は移動先のLevel名に置き換えてください

1 Like

ありがとうございます!
PIE実行ではうまくいかなかったので、パッケージ化してみたら上手く動作しました。
エディタの設定を何かすれば、エディタ上でも動作するのかもしれませんが、
まずはありがとうございます。