unreal 5기

251016 언리얼엔진 본캠프 46일차 UPROPERTY와 UFUNCTION

parkjinnam 2025. 10. 16. 20:48

UPROPERTY와 UFUNCTION

지난번에는 언리얼엔진의 매크로인 UCLASS, USTRUCT에 대해서 공부해 보았다. 내친김에 자주 사용하는 UPROPERTY와 UFUNCTION에 대해서도 알아보자

 

UPROPERTY

UPROPERTY는 멤버변수 위에 작성하여 해당 멤버변수가 에디터에서 노출되게하고 블루프린트에서 변수로서 사용가능하게 되어 get과 set으로 접근이 가능해진다. 또한 매크로를 선언할 때 인자를 입력하여 해당 변수의 성질을 정해줄 수 있는데 대표적으로는 다음과 같다.

 

EditAnyWhere : 에디터 어디서든 편집 가능

BlueprintReadOnly : 블루프린트 내에서 읽기만 가능

BlueprintReadWrite : 블루프린트에서 읽고 쓰기 가능

 

UFUNCTION

UPROPERTY가 멤버변수에 관한 내용이었다면 UFUNCTION은 멤버함수 위에 작성하여 해당 메서드가 에디터에 노출이 가능하게 해주는 매크로다. UFUNCTION을 적용받은 함수는 블루프린트에서 사용이 가능해지며 매크로 인자로 값을 어떻게 넣느냐에 따라 다양한 동작이 가능하게 할 수 있다. 예를 들면

 

BlueprintCallable : 블루프린트에서 실행 노드로 호출 가능

BlueprintPure : 실행 핀이 없는 계산 결과만 반환하는 순수 함수로 만듦

 

등이 있다.