본문 바로가기

unreal engine

[UE5.0] Online Subsystem (2) 온라인 서브 시스템의 기본 설정 및 Steam Cross Platform 사용법

목표 : 온라인 서브시스템의 기본적인 사용방식 및 Steam Cross Platform을 사용하기 위해 세팅하는 법을 익히자.

 

Online Subsystem을 설정하기 전, 우리는 일반적인 OSS에서 Session은 다음과 같이 진행됨을 숙지하자

 

host : Login()-> CreateSession() -> 다른 플레이어를 인터넷에서 찾는중

client : Login() -> FindSession() (조건에 맞는 session 찾기) -> JoinSession() -> ClientTravel

 

먼저 프로젝트 생성을 한 다음 edit - Plugins를 들어가서 Steam Online Subsystem 을 체크하고 재시작한다.

 VS에 들어가서 내프로젝트 -> source들어가서 build.cs파일에 들어가서 다음과 같이 OnlineSubsystemSteam 그리고 OnlineSubsystem을 추가한다.

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "EnhancedInput", "OnlineSubsystemSteam", "OnlineSubsystem" });

 

위에 작업이 완료되었으면 프로젝트폴더/Config/defaultengine.ini 파일을 열어서 다음을 추가한다.

 

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480


[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

SteamDevAppId는 자신이 스팀 dev 계정을 가지고 있으면 480을 넣지 않고 자신에게 배정된 id값을 넣으면된다.

 

추가했으면, .uproject파일을 우클릭 한다음 generate visual studio project files를 클릭해서 sln을 재생성한 다음 컴파일을 하면된다.

 

 

이로써 기본 세팅은 끝났다. 다음에는 online subsystem에 접속하는 것을 코드로 구현해보자 한다.

 

 

추가

steam이 아니라 EOS를 연결하고 싶으면 다음을 참고하면 좋다.

https://youtu.be/ItqVHGdavyU

 

 

 

+Udemy 강의 제목 : Unreal Engine 5 C++ Multiplayer Shooter.