2020. 5. 18. 13:54ㆍ엔진/UE4
처음 이 이슈를 인지했던건 Array 컨테이너에 TWeakObjectPtr 을 사용했을 때 였던 것 같다.
특정 멤버변수를 UPROPERTY 지정자로 마킹해서 Blueprint 로 노출시키고자 할 때,
멤버변수의 타입이 Blueprint 에서 지원하는 UPROPERTY 타입이 아니면, UHT Parser 단에서 컴파일 에러를 내게끔 되어있다.
타입 바꾸는 비용은 대부분 크지 않기 때문에, 큰 일은 아니겠지만서도 신나게 코딩했던 시간들이 아깝게 느껴졌던 것 또한 사실이였다.
그래서 사전에 Blueprint 가 지원하는 UPROPERTY 타입을 알고 있어야겠단 생각이 들어 찾아뒀던 것을 지금에서야 기록해둔다. 언리얼 문서는 찾아보았는데 따로 없었던 걸로 기억한다.
코드이기 때문에 엔진 버전이 바뀌면 언제든지 바뀔 수 있다는 것을 염두해두자.
HeaderParser.cpp
- IsPropertySupportedByBlueprint()
위 함수에서 해당 Property 가 Blueprint 에서 지원하는 타입인지 검사한다.
기억해둘만한 것은,
1. TWeakObjectPtr 은 단일멤버변수로는 가능하지만, Array,Set,Map 의 요소로는 불가능하다.
2. int64 는 지원하지만, uint64 는 지원하지 않는다.
uint64 를 BP 에서 사용하고 싶다면, 대부분 String 으로 대체해서 사용한다.
3. 구조체인 경우, BlueprintType 메타 지정자가 있어야한다.
'엔진 > UE4' 카테고리의 다른 글
UE4 GitHub 으로 설치하기 (0) | 2020.05.11 |
---|---|
UObject 의 Outer (0) | 2020.03.23 |