Make Unreal REAL.
article thumbnail
세션 참가

Unreal Engine 5 C++ Multiplayer Shooter 세션 참가도 생성, 검색과 똑같이 델리게이트를 통해 진행한다. 세션 생성 시 매치 종류를 설정하도록 한다. 아래에서는 FreeForAll이라는 문자열로 설정되었고, Steam 온라인 서비스와 핑을 통해 홍보된다. 이 문자열을 통해 세션 검색 시 원하는 매치를 필터링할 수 있다. 세션 생성에 성공했으면 호스팅할 플레이어는 Lobby 레벨을 Listen 서버로 연다. 세션 생성 시 FOnlineSessionSettings 객체로 설정했던 값들을 FOnlineSessionSearchResult.Session.SessionSettings를 통해 다시 가져올 수 있다. 아까 설정했던 매치 종류를 통해 필터링한다. 매치 종류가 FreeForAl..

article thumbnail
세션 검색

Unreal Engine 5 C++ Multiplayer Shooter 세션 생성과 마찬가지로, 세션 검색도 검색 요청 후에 응답을 받아 델리게이트 리스트의 델리게이트들이 발동된다. FOnlineSessionSearch에는 TArray 타입의 SearchResults라는 프로퍼티가 있으므로 지역이 아닌 멤버 변수로 선언해준다. 생성자 리스트에서 델리게이트를 바인딩하고 할당해준다. IOnlineSessionPtr->AddOnFindSessionsCompleteDelegate_Handle() 함수로 세션 검색 요청에 대한 응답이 오면 발동할 델리게이트 리스트에 델리게이트를 등록할 수 있다. 여러 개의 함수가 등록된 하나의 델리게이트가 아닌, 여러 개의 델리게이트를 델리게이트 리스트에 등록하는 것이다. 등록한..

article thumbnail
세션 생성

Unreal Engine 5 C++ Multiplayer Shooter 우선, 세션을 지역 검색이 활성화된 상태로 생성할 것이기 때문에, Steam 설정에서 지역을 설정해주어야 한다. 같은 지역으로 설정한 플레이어들끼리만 연결된다. 캐릭터 클래스의 헤더 파일에 헤더를 포함한다. generated.h 파일은 가장 마지막에 포함되도록 해야한다. 온라인 세션 인터페이스는 델리게이트를 사용한다. 게임 세션을 생성하고 세션에 참가하려면 인터넷을 통해 정보를 전송해야 하는데, 접속 속도에 따라 걸리는 시간이 다르기 때문이다. CreateSession() 함수를 실행하면 플랫폼(Steam)으로 요청이 전송되어 Steam에서 세션이 생성되고, 완료되면 다시 우리에게 알려 델리게이트를 실행하도록 한다. FOnCreate..

article thumbnail
온라인 서브시스템으로 Steam 연결

Unreal Engine 5 C++ Multiplayer Shooter Online Subsystem Steam 플러그인을 활성화하고 에디터를 재시작한다. 빌드 설정에 OnlineSubsystem과 OnlineSubsystemSteam 모듈을 추가하고 컴파일한다. OnlineSubsystem은 온라인 서브 시스템을 사용하기 위한 것이고, OnlineSubsystemSteam은 온라인 서브 시스템을 스팀에 연결해 사용하기 위한 것이다. 공식 문서를 참고하여 DefaultEngine.ini 파일 하단에 다음 내용을 추가한다. bEnabled는 온라인 서브 시스템 활성화 여부이다. SteamDevAppId는 원래 스팀에서 별도로 할당받아야하지만, 등록 없이 연결 테스트 용으로 사용할 수 있도록 스팀에서 480..

article thumbnail
온라인 서브시스템(Online Subsystem)

Unreal Engine 5 C++ Multiplayer Shooter 아는 사람 몇 명과 즐기는 LAN 연결이 아닌, 불특정 다수와 인터넷을 통해 멀티 플레이를 하기 위해서는 다음과 같은 방법을 사용해야 한다. 1. Dedicated(전용) 서버를 구동해 모든 플레이어가 같은 서버에 접속하도록 한다. 2. 서버는 플레이어 목록을 관리하고 Listen 서버로 동작할 플레이어의 IP 주소를 알려준다. 두 방법 모두 결국에는 인터넷에서 동작하는 하나의 서버가 필요하다. Steam Xbox Live Facebook Gaming ... 각 플랫폼 서비스는 다음 기능들을 지원한다. 친구 관리 업적 관리 세션 매칭 ... 언리얼 엔진의 온라인 서브 시스템은 이들을 이용하기 위한 인터페이스를 제공한다. 온라인 서브시..

article thumbnail
프로젝트를 패키징하는 방법

Unreal Engine 5 C++ Multiplayer Shooter 실행 가능한 파일로 패키징할 수 있다.

검색 태그