GameInstance에 대해 알아보기
게임 프로그램이 실행부터 종료 시까지 유지되는 단 하나의 전역적인 객체입니다.
게임 세션 전체에서 유지되는 데이터와 로직을 관리하는 클래스입니다.
게임이 실행되는 동안 존재하며, 레벨 간 이동이나 게임의 다양한 상태에서 유지되어야 하는 정보들을 저장하고 공유하는 데 사용됩니다.
멀티플레이어 게임에서의 활용
→ 플레이어 간 정보 교환 및 게임 상태 동기화에 활용됨
→ 자신의 클라이언트에서 GameInstance를 통해 공유된 정보에 접근 가능함



// .h
public:
UPuzzlePlatformsGameInstance();
virtual void Init() override;
// .cpp
#include "PuzzlePlatformsGameInstance.h"
UPuzzlePlatformsGameInstance::UPuzzlePlatformsGameInstance()
{
UE_LOG(LogTemp, Warning, TEXT("Start Construct"));
}
void UPuzzlePlatformsGameInstance::Init()
{
UE_LOG(LogTemp, Warning, TEXT("Start Init"));
}


- 게임 인스턴스의 생성자 함수는 에디터 실행 및 게임 실행 시 호출됩니다.
- 게임 인스턴스의 Init() 함수는 게임 실행 시 생성자 함수 실행 이후 호출됩니다.