UE5でマルチプレイをしよう

今回はUE5でマルチプレイを実装し、パッケージングまでもっていく方法までを紹介します。

デフォルトのマルチ機能

ご存じの通り、UnrealEngineでは、キャラクタームーブメントを使用しているプレイヤーは、プレイの「…」からプレイヤー数を複数に増やし、ネットモードを「Play As Listen Server」か「Play As Cliant」を選択しPIEでプレイすることで簡単にマルチプレイをすることができます。

しかし実際にはこのままパッケージ化してもマルチプレイにはなりません。

パッケージ化してもマルチになるようにする

実際にマルチでプレイするには、EpicやSteamのマッチングシステム、外部サーバーを使わない場合、「Listen Server」という方法を使う必要があります。

公式のページ
https://docs.unrealengine.com/5.2/ja/networking-and-multiplayer-in-unreal-engine/

なので、プレイヤーはホストとクライアントを選び、ホストは部屋を作ってクライアントはそこに接続する仕組みを作る必要があります。
難しそうに聞こえますが、Listen Server は簡単につくることができます。

1.UI

まずUIを作ります。
パネルにボタンを二つ置くだけで問題ありません。

ホスト側のボタンを押したときは「プレイするレベル名」+「?Listen」
クライアント側のボタンを押したときは「IPアドレス」+「:7777」
を入力するようにしましょう。
IPアドレスには127.0.0.1の自分のPCのIPや、コマンドから出せるローカルIPのIPv4アドレス、ポート開放などを行い自分のIPなどを入れることができます。
もし仮にインターネット対戦をしたい場合は、ホストがポートを開放してクライアントがそのIPを入力する必要がありますが、ひとまずローカルなIPで大丈夫です。

2.レベル

マップをセレクトするレベルを作っておきましょう

特に何もないマップで問題ありません。(写真ではKillZ予防にブロッキングボリュームを置いています)

レベルブループリントを開きます。

レベルが開いたら、マウスカーソルをだして先ほど作ったUIを表示しましょう。

これだけで完成です。

実際にプレイする

UEではスタンドアローンでプレイをすることでパッケージングした時の挙動を確認することができます。

選択用のレベルを開いて、ネットモードを「Play Standalone」に変更して、スタンドアローンゲームでプレイしましょう。

マルチでプレイすることができました!

このように、UEでは簡単にマルチプレイを作ることができます。

皆様もぜひやってみてください!

エンジニアリング事業部からの最新情報をお届けします