UMG C++ 바인딩은 이름, 생성 시점, 소유자, 정리까지 맞아야 안정적이다
포인터가 보인다고 끝이 아니라 재생성, 입력 포커스, 중복 바인딩까지 함께 관리해야 한다.
| 조건 | 확인할 것 | 문제 신호 |
|---|---|---|
| BindWidget | Designer 이름, Is Variable, C++ UPROPERTY 이름이 일치한다 | 필수 위젯 포인터가 null이다 |
| NativeConstruct | 자식 위젯 접근과 delegate binding은 생성 이후에 한다 | 생성자에서 Widget Tree를 만진다 |
| Owning Player | CreateWidget에 플레이어 컨텍스트를 넘긴다 | 입력 모드와 focus가 엉뚱한 컨트롤러를 본다 |
| Cleanup | RemoveFromParent, Destruct, 재오픈에서 중복 바인딩을 정리한다 | 한 번 클릭했는데 이벤트가 두 번 돈다 |
UI는 열 때보다 닫고 다시 열 때 문제가 잘 드러난다.