생성 헤더 위치
MyActor.generated.h는 같은 헤더의 마지막 include여야
UHT가 만든 선언이 올바른 순서로 붙습니다.
UHT가 읽는 선언과 C++ 컴파일러가 읽는 선언이 어긋나면 에디터 노출, 빌드, 블루프린트 호출이 서로 다른 위치에서 실패합니다.
MyActor.generated.h는 같은 헤더의 마지막 include여야
UHT가 만든 선언이 올바른 순서로 붙습니다.
UCLASS() 바로 아래 클래스 안쪽에
GENERATED_BODY()가 있어야 엔진 타입 정보가 연결됩니다.
에디터 수정은 EditAnywhere, 블루프린트 쓰기는
BlueprintReadWrite처럼 목적별로 따로 봅니다.
헤더 구조를 고친 뒤에도 반영이 없으면 에디터 재시작, 전체 빌드, 블루프린트 재컴파일을 순서대로 확인합니다.
UPROPERTY가 빠졌거나 Category, Edit 계열 지정자가
의도와 다를 수 있습니다.
BlueprintCallable 또는 BlueprintPure가
함수 목적에 맞게 선언됐는지 확인합니다.
문법 오류가 실제 원인보다 뒤쪽에 찍힐 수 있으므로 직전 리플렉션 매크로부터 봅니다.
코드 빌드, 에디터 디테일 패널, 블루프린트 검색 결과가 모두 같은 선언을 보여주면 리플렉션 계약이 맞게 연결된 상태입니다.