Unreal 엔진
[UE] UGameInstance 살펴보고 커스텀 BP/C++ GameInstance 만들어보기
원소랑
2023. 7. 19. 11:49
GameInstance
실행 중인 게임 인스턴스에 대한 상위 레벨 관리자 오브젝트.
프로젝트셋팅에서 커스텀 클래스로 설정할 수 있음
기본 제공 클래스는 두 개
UGameInstance
UPlatformGameInstance
UGameInstance : 스탠드 얼론 게임으로 실행 시 인스턴스 생성.
UPlatformGameInstance : 모바일 이벤트를 처리하는 UObject 하위 클래스. UApplicationLifecycleComponent 는 레벨 로드 시 제거.
블루프린트로 GameInstance 생성하기.
GameInstance 를 상속받는 블루프린트 클래스를 생성하고, 변수를 몇 개 추가. 임의의 값을(2023) 셋팅해주고, 플레이가 시작되면 다른 블루프린트 클래스에서 접근해서 출력하도록 설정.
이번엔 블루프린트 대신 커스텀 C++ 클래스로 생성해보기. 마찬가지로, 컨텐츠 브라우저에서 C++ 클래스 생성, 부모 클래스는 GameInstance 로 설정.
아래처럼, 간단하게 Init 메소드만 오버라이드해서 화면과 로그창에 로그를 출력하도록.
//MyGameInstance.h
UCLASS()
class THIRDPERSONCPP_API UMyGameInstance : public UGameInstance
{
GENERATED_BODY()
public:
void Init() override;
};
//MyGameInstance.cpp
void UMyGameInstance::Init()
{
Super::Init();
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("This is UMyGameInstance!"));
UE_LOG(LogTemp, Warning, TEXT("This is UMyGameInstance!"));
}
끝.
언리얼 도큐먼트
https://docs.unrealengine.com/5.2/en-US/API/Runtime/Engine/Engine/UGameInstance/
언리얼 GitHub GameInstance.cpp 저장소 링크
GitHub 로그인 필요.
728x90
반응형