こんにちは!ジェイです。
今までに、UE5でマルチプレイを実装する際に、自家用サーバーやEpicOnlineSystemを試してみましたが、かなり手間がかかってしまって、もっと簡単にできる方法はないか?ということで探したところ、SteamSubSystemを使えばかなり楽にできるのがわかったので、手順を示しておきます。
1.プラグインをダウンロードして解凍する
2.uprojectがあるフォルダ内にPluginsフォルダを作ってAdvancedSessionsフォルダとAdvancedSteamSessionsフォルダを中に入れる
3.contextフォルダ内のDefaultEngine.iniを開いて以下を追加する(場所はどこでもOK)
AppIdの480は開発用ビルドのみなので注意する
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
; If using Sessions
; bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
詳しくは以下を参照
4.UEを起動して、Edit→PulginsからAdvancedSessionsとAdvancedSteamSessionsのチェックがされてるか確認する
5.tools→ブループリントを検索からCreateSessionをCreateAdvancedSessionに置き換えて、同じようにFindSessionをFindAdvancedSessionに置き換える
6.tools→New C++ Class→Noneを選択したままNextをクリック→Create Classをクリックしてその後はOKを選ぶ
7.UEのエディタを閉じておく(VisualStudioでビルド時に開いているとエラーになる可能性がある)
8.VisaulStudioを起動して、Game内のプロジェクト名をクリック→右クリックビルドで終わったらエディタを閉じる
9.UEを起動してWindows用の開発ビルドをする
以上で手順は終わりです。
オンラインで接続する時は、必ず起動する前にSteamにログインしておきましょう。
実行結果
今日はテストプレイに来てくれた人ありがとうございました(^^♪
— ジェイ@ゲーム制作VTuber (@JY20160816) 2023年4月22日
Steamでならオンラインプレイもいけそうなのでこのまま続けていこうと思います✌️ pic.twitter.com/yVu53DYQir