Unreal Engine 5 C++ Multiplayer Shooter
언리얼 엔진의 서브시스템(Subsystem)
엔진 코드를 수정하지 않고도 제공하는 클래스의 하위 기능을 만들어 관리할 수 있도록 한다.
이미 많은 API를 제공하는 클래스를 더 복잡하게 만들지 않아도 된다.
- Engine, Editor, GameInstance, LocalPlayer 서브시스템이 있다.
서브시스템은 다음과 같이 관리된다.
- 주 시스템이 생성될 때, 서브시스템 객체도 함께 생성된다.
- 주 시스템이 초기화될 때, 서브시스템의 Initialize() 함수가 호출된다.
- 주 시스템이 종료될 때, 서브시스템의 Deinitialize() 함수가 호출된다.
이때 주 시스템이 갖고 있는 서브시스템의 참조가 삭제되며, 이후 GC에 의해 해제된다.
멀티 플레이어 세션의 관리를 게임 인스턴스 서브시스템으로 처리하도록 한다.
- 게임 프로그램 시작 시 초기화된다.
- 게임 종료 전까지 사라지지 않는다.
- 레벨 간에도 보존된다.
우선은 세션을 관리하기 위한 게임 인스턴스 서브시스템에서 세션 인터페이스만 가져와 저장해본다.
- 세션 인터페이스를 저장하는 SessionInterface 변수는 외부로 노출시키지 않고 캡슐화해 사용할 예정이다.
'Unreal Engine > UE5 C++ Multiplayer Shooter' 카테고리의 다른 글
멀티 플레이어 플러그인 제작: 메뉴 위젯 (0) | 2023.03.26 |
---|---|
멀티 플레이어 플러그인 제작: 뼈대 구성 (0) | 2023.03.26 |
멀티 플레이어 플러그인 제작: 생성 (0) | 2023.03.26 |
세션 참가 (0) | 2023.03.26 |
세션 검색 (0) | 2023.03.25 |