C++ 위젯 제어는 클래스, 인스턴스, 화면, 값 갱신, 제거 시점을 분리한다
인스턴스를 지역 변수로만 만들면 이후 제어와 정리가 어렵다.
| 구간 | 책임 | 위험 신호 |
|---|---|---|
| Class Reference | TSubclassOf로 위젯 클래스를 에디터에서 받는다 | WidgetClass가 null이다 |
| Instance | CreateWidget 호출 시 소유자와 저장 포인터를 정한다 | 생성했지만 이후 접근할 위치가 없다 |
| Display | AddToViewport와 Input Mode를 함께 맞춘다 | 화면은 떴지만 입력이 꼬인다 |
| Update / Remove | 커스텀 함수로 값 갱신 후 RemoveFromParent 시점을 관리한다 | 닫은 UI에 값을 보내거나 중복 클릭이 난다 |
소유 컨트롤러나 HUD에서 위젯 포인터 수명을 관리하는 편이 안전하다.