클래스 할당
PlayerController 블루프린트에서 HUDWidgetClass와 InventoryWidgetClass가 실제 위젯 블루프린트를 가리켜야 합니다.
CreateWidget이 성공해도 CurrentWidget 재사용, AddToViewport 여부, SetInputMode 복구가 맞지 않으면 UI가 중복되거나 조작이 막힙니다.
PlayerController 블루프린트에서 HUDWidgetClass와 InventoryWidgetClass가 실제 위젯 블루프린트를 가리켜야 합니다.
월드 컨텍스트와 소유 PlayerController가 유효한지 확인하고, 실패 로그를 남겨 원인을 좁힙니다.
AddToViewport 후 ZOrder와 표시 여부를 보고, 중복 생성
대신 기존 인스턴스 재사용을 검토합니다.
메뉴를 닫을 때 GameOnly, 커서 숨김, 포커스 회복을 함께 처리해 게임 조작이 돌아오게 합니다.
클래스 미할당, CreateWidget 실패, AddToViewport 누락, Visibility 상태를 순서대로 확인합니다.
Show 함수 초반에 CurrentWidget 존재 여부를 검사하고 이미 있으면 생성 대신 표시 상태만 바꿉니다.
RemoveFromParent 이후 입력 모드, 마우스 커서, UI 포커스를 게임 상태로 되돌렸는지 확인합니다.
클래스 참조가 할당되고, 인스턴스 생성이 한 번만 일어나며, 열기와 닫기 모두에서 입력 모드가 의도대로 끝나면 UI 관리 흐름이 안정된 것입니다.