Unreal

멀티플레이 메뉴 부터 게임 로비 까지 (1) - UnrealEngine

workbench34 2025. 4. 9. 20:20

 이번 프로젝트에 내가 맡은 부분은 서버에 대한 연결, 게임모드 이다. 3주에 걸친 프로젝트인데 1주 반절이 지난 지금 메인 메뉴와 로비 시스템, 서버 찾기 시스템등이 구현되어서 어떤 형식으로 만들어 졌는지 적어보도록 하겠다.

 

 대부분의 시스템과 블루프린트는  이분의 유튜브를 보고 참고하였다. (대부분 여기에서 가져왔다.)

https://www.youtube.com/@NiceShadow

 

NiceShadow

I'm creating Unreal Engine tutorials!

www.youtube.com

 

 

 언리얼의 플러그인 중 스팀과 연동이 가능하게 해주는 플러그인이 있다. 이는 아래 사이트에 들어가 다운 받을 수 있다.

https://vreue4.com/advanced-sessions-binaries

 

Advanced Sessions Binaries – VR Expansion Plugin

 

vreue4.com

 

 언리얼 공식 사이트에서도 이에 관한 내용이 있으니 더욱 자세히 알고싶다면 참고하길 바란다. 현재 기준으로 언리얼 엔진은 5.5 버전이나 아직 최신화가 안되어있어 4.27 기준으로 서술되어 있다.

https://dev.epicgames.com/documentation/en-us/unreal-engine/online-subsystem-steam?application_version=4.27

 

 기본적인 골자는 위젯 블루프린트, 게임모드, 플레이어 컨트롤러와 게임 인스턴스를 이용하여 로비를 만들고 로비를 탐색하는 형식이다.

흐름을 살펴보면 플레이어가 게임을 시작 (메인 메뉴 위젯) -> 멀티플레이 클릭 (로비 생성 + 찾기 위젯) -> 로비를 생성하거나 생성된 로비에 참가 (로비 위젯 + 로비 게임모드 + 로비 플레이어 컨트롤러) -> 게임시작 (인게임 게임모드 + 인게임 플레이어 컨트롤러) 순으로 진행된다. 여기서 알 수있는 점은 처음에 플레이어가 게임을 시작할 때에는 (로비를 생성하기 전에는) 따로 게임모드가 필요 없다는 점이다. 위의 순서대로 설명하도록 하겠다.

 

메인메뉴

 Settings 는 아직 구현하지 않았기에 이에대한 설명은 하지 않도록 하겠다. 아래는 이벤트 그래프다.

 

 1번 : 메인 메뉴 위젯을 제거한 후 새로운 위젯을 뷰포트에 추가

 2번 : 온라인 서브시스템을 이용해 Steam 에 접속해 있다면 2번 프로필 이름과 사진을 띄운다.

 

 3번 : Quit Game 노드를 이용해 게임을 끈다.

 

 메인 메뉴 위젯은 비교적 간단하게 만들었다. 프로필을 불러오는 로직은 계속 사용할 것이기에 위의 이미지를 보고 흐름을 알아두자.

 

 다음 시간에는 로비 생성 + 찾기 위젯 에 대한 내용을 적어보도록 하겠다. 이는 분량이 꽤 많기에 나누어서 포스팅 하도록 하겠다.