Skip to main content

[Unreal] 언리얼 프로퍼티, 함수 지정자




UPROPERTY() 에디터 관련 지정자 #

지정자 Edit Visible
DefaultsOnly 블루프린트 프로퍼티 창에서 .. 수정 가능 .. 보기만 가능
InstanceOnly 인스턴스의 디테일 창에서 .. 수정 가능 .. 보기만 가능
Anywhere 둘 다에서 .. 수정 가능 .. 보기만 가능



UPROPERTY() 블루프린트 로직 관련 지정자 #

  • 이것들은 private 변수에는 사용할 수 없다.
  • 따라서 private 변수라면 Meta = (AllowPrivateAccess = "true")를 해줘야 한다.
지정자 특징
BlueprintReadOnly 블루프린트 로직에서 Get으로 가져올 수 있다.
BlueprintReadWrite 블루프린트 로직에서 Get으로 가져올 수 있으며,
Set으로 쓸 수도 있다.
아무 것도 명시 안 하면 Get, Set 모두 안 된다.



UFUNCTION() 블루프린트 로직 관련 지정자 #

지정자 구현 위치 특징
BlueprintCallable C++에서 블루프린트에서 호출할 수 있게한다.
BlueprintImplementableEvent 블루프린트에서 블루프린트에서만 구현할 수 있게한다.
C++ 헤더에서는 보통 K2_를 접두사로 붙여준다.
BlueprintNativeEvent 둘 다 가능 C++에 기본 구현이 있고, 선택적으로 블루프린트에서 오버라이드 할 수 있다.
C++ 기본 구현을 위해서는 뒤에 접미사로 _Implementation가 붙는 새로운 가상 함수를 선언해줘야 한다.
호출할 때는 접미사가 안 붙은 함수이름()를 호출해야 어떤 함수를 호출할 지 결정할 수 있겠다.

UFUNCTION(BlueprintNativeEvent)
void Func();  // 이것을 호출해야 한다. 

virtual void Func_Implementation();  // C++ 구현은 여기에 



References #