UNREAL C++ · UI MANAGER

위젯 생성 수명 주기 가드

C++에서 UI를 띄울 때는 클래스 참조, 인스턴스 캐시, 화면 추가, 입력 모드, 제거 후 복구를 한 흐름으로 관리해야 합니다.

중복 생성 방지

cache
CurrentWidget 확인이미 생성된 위젯은 다시 만들지 않고 표시 상태만 바꿉니다.
Remove 후 포인터재사용할지 재생성할지 정하고 nullptr 처리 정책을 맞춥니다.

관리 흐름

lifecycle
Class 지정TSubclassOf로 블루프린트 위젯 클래스를 받습니다.
CreateWidgetPlayerController를 소유자로 넘겨 로컬 플레이어 컨텍스트를 고정합니다.
AddToViewportZOrder와 표시 상태를 정해 화면 계층에 올립니다.
Input ModeUI Only 또는 Game And UI로 커서와 포커스를 맞춥니다.
Remove위젯 제거 후 게임 입력과 커서 상태를 복구합니다.

안전 장치

guard
Class null 로그에디터에서 위젯 클래스가 비어 있으면 조용히 실패하지 않게 합니다.
Destruct 정리타이머, 델리게이트, 비동기 콜백은 NativeDestruct에서 해제합니다.
입력 복구인벤토리나 메뉴를 닫을 때 GameOnly와 커서 숨김을 함께 되돌립니다.