UMG 계약
C++는 조작 계약, 위젯 블루프린트는 화면 구성
BindWidget은 이름이 맞는 자식 위젯을 연결하는 약속이다. 코드 책임과
화면 책임을 섞지 않는 것이 핵심이다.
가장 흔한 실패
변수 이름 불일치, Is Variable 해제, NativeConstruct 이전
접근.
| 구역 | 맡는 일 | 확인 기준 |
|---|---|---|
| C++ 클래스UUserWidget 파생 코드 | UpdateHealth 같은 외부 입력점과 안전한 조작 함수를 제공한다. | BindWidget 포인터는 NativeConstruct 이후 null 체크한다. |
| Widget Blueprint디자이너가 만지는 화면 | ProgressBar, TextBlock, 패널 구조와 이름을 맞춘다. | 부모 C++ 클래스 지정, Is Variable 활성화, 이름 일치. |
| 연동 지점바인딩과 호출 노출 | 자식 위젯을 멤버로 연결하고 화면 쪽 호출 함수를 노출한다. | 화면 배치 변경 후 C++ 이름 계약이 유지되는지 본다. |
| 증상 | 먼저 볼 곳 | 해결 방향 |
|---|---|---|
| null 포인터연결된 위젯이 없음 | 이름, Is Variable, 부모 클래스 | 위젯 트리 이름을 C++ 멤버명과 정확히 맞춘다. |
| 초기화 오류생성 전 접근 | NativeConstruct 호출 이후 여부 | 외부 시스템 갱신은 위젯 준비 뒤 실행한다. |