
- GameInstance는 싱글톤의 역할을 하나, 전형적인 "싱글톤 패턴 클래스"는 아님
- 언리얼 엔진에서 GameInstance는 기본적으로 싱글톤처럼 동작하도록 설계된 엔진의 내장 클래스임
- GameInstance가 싱글톤처럼 동작하는 이유?
- 게임 세션 동안 단 하나의 인스턴스만 유지함
- 언리얼 엔진이 게임 시작 시 자동으로 생성하며, 게임 세션동안 계속 유지됨
- 새로운 맵(레벨)을 로드해도 GameInstance는 파괴되지 않고 상태를 유지하므로, 게임 전역 데이터를 관리하기에 적합함
- 전역적으로 접근 가능
- GetWorld()->GetGameInstance() 를 통해 게임 어디서든 하나의 동일한 GameInstance 객체에 접근이 가능
- 따라서 특정 데이터를 전역적으로 공유해야 할 때 사용됨
- 게임 세션 동안 단 하나의 인스턴스만 유지함
- 그러므로 GameInstance는 이미 그 자체가 전역적인 객체이므로, 별도로 싱글톤으로 등록하는 작업이 필요하지 않음
- 그러나 구현 방식은 싱글톤 클래스와 다름
- 전형적인 싱글톤 패턴에서는 정적(static) 메소드나 변수를 사용하여 객체를 생성하고 관리함
- GameInstance는 언리얼 엔진 자체에서 관리하므로, 직접 싱글톤처럼 설계하지 않아도 됨
'UE5 Coding : 게임 제작 기초 > Class' 카테고리의 다른 글
| BeginOverlap 바인딩 함수 (0) | 2025.08.20 |
|---|---|
| 클래스 상속 (0) | 2025.08.18 |
| Interface (0) | 2025.06.23 |