UFUNCTION() 은 언제 붙여야 하는 건가요?
저의 미약한 지식이지만 도움이 되실지 모르겠네요... C++은 C#과 달리 Reflection이라는 기능이 없습니다.. 언리얼에서는 이를 억지로 구현해 놓았구요. 이 Reflection이라는 기능을 통해서 런타임에 자기 자신을 검사할 수가 있는데 이를 사용하기 위해서는 특수한 매크로를 사용해야 합니다. 그게 UCLASS, UPROPERTY, UFUNCTION 같은 매크로 이구요. 이렇게 매크로를 사용하게 되면 UnrealHeaderTool(UHT)이 컴파일시점에 정보를 수집해서 추가 코드를 생성 해줍니다. UCLASS 를 사용해서 해당 클래스가 garbage collection을 사용하게 해주고 UPROPERTY, UFUNCTION이 블루프린트에 노출될수 있게 해주는것으로 알고 있습니다. 블루프린트 안에서 사용하실려면 ()안에 어떻게 사용할건지 지정도 해주셔야 합니다. 제가 강의를 본지 좀 오래되서 저게 어떤 상황인지는 모르겠는데 아마 블루프린트 쪽을 건드리고 있지 않을까요??