[UE5/C++] 새 Game Instance 만들기
- 목차
Game Instance 클래스는 게임의 기본적인 뼈대가 되는 클래스라고 보면 된다.
나도 처음에는 이해가 잘 안갔는데, 유니티의 Gam Manager와 비슷하다고 보면 될 것 같다.
Game Instance 클래스는 싱글톤으로, 게임 하나당 하나만 존재해야한다.
디폴트 Game Instance가 아닌 새로운 Game Instance를 만들어 적용시켜보기까지가 이번 글에서 할 일이다.
새 Game Instance 클래스 만드는 방법
Tools → New C++ Class → All Classes → Game Instance 검색 후 선택
이름을 입력하고 Create를 누르면 된다.
그 후 자동으로 상속받은 클래스에 대한 정보들을 파악해서 컴파일이 되고,
에디터에서 솔루션 구조도 이에 맞춰서 자동으로 바뀐다.
비주얼 스튜디오에서 뜨는 팝업창의 Reload All을 눌러주면 알아서 바뀐다.
기존의 GameInstance 클래스가 가지고있는 함수 중 중요한 함수가 Init()이다.
Init()은 게임을 시작하기 전 초기화해주는 함수이다.
이 Init()을 오버라이딩해서 재구성을 한다.
이때, 언리얼엔진의 부모클래스를 상속 받아서 재구성을 하는 경우 언리얼엔진에 있는 코드를 한번 실행해주는 것이 좋다.
이미 그 코드들은 전체 플로우가 동작할 수 있게 짜여져 있기 때문에, 이것을 무시하고 오버라이딩 해버리면 엔진 전체적인 플로우에 어떤 에러가 발생할지 모른다.
언리얼엔진에서는 부모 클래스 이름을 다 칠 필요 없이 Super로 호출 할 수 있다.
Super::Init();
그 후 추가할 로직을 적어주면 된다.
[게임모드 vs 게임인스턴스]
https://www.youtube.com/watch?v=0pAhqA2Sgto
'프로그래밍 > UE5' 카테고리의 다른 글
| [UE5/C++] 캐릭터 인코딩 (0) | 2024.04.23 |
|---|---|
| [UE5/C++] 언리얼의 기본타입 (0) | 2024.04.23 |
| [UE5/C++] 언리얼엔진 C++에서 print 하기 (LOG_UE) (0) | 2024.04.22 |
| [UE5/C++] 언리얼엔진 컴파일 하는 방법 (0) | 2024.03.28 |
| [UE5] 기본적인 에디터 설정 (0) | 2024.03.06 |