본문 바로가기
UE5 Coding : 게임 제작 기초/Class

GameInstance 와 Singleton

by 달다하 2025. 8. 18.

 

  • 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