프로퍼티 선언
프로퍼티는 표준 C++ 변수 문법, 즉 앞에 UPROPERTY 매크로에 프로퍼티 메타데이터와 변수 지정자를 붙여 선언합니다.
UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)]) Type VariableName; |
프로퍼티 지정자
프로퍼티 선언시, 프로퍼티 지정자를 붙여 프로퍼티가 엔진과 에디터의 다양한 부분과 어떻게 작동하는지를 제어할 수 있습니다.
아래 표는 실제 개발에 자주 사용하는 프로퍼티 지정자만 정리하였습니다.
프로퍼티 지정자 | 효과 |
BlueprintAssignable | 멀티캐스트 델리게이트하고만 사용할 수 있습니다. 프로퍼티를 블루프린트에서 할당할 수 있도록 노출시킵니다. |
BlueprintAuthorityOnly | 이 프로퍼티는 멀티캐스트 델리게이트여야 합니다. 블루프린트에서, BlueprintAuthorityOnly 지정자가 붙은 이벤트만 받습니다. |
BlueprintCallable | 멀티캐스트 델리게이트 전용입니다. 프로퍼티를 노출시켜야 블루프린트 코드에서 호출할 수 있습니다. |
BlueprintReadOnly | 이 프로퍼티는 블루프린트에서 읽을 수는 있지만 변경은 안됩니다. BlueprintReadWrite 지정자와 호환되지 않습니다. |
BlueprintReadWrite | 이 프로퍼티는 블루프린트에서 읽거나 쓸 수 있습니다. BlueprintReadOnly 지정자와 호환되지 않습니다. |
Config | 이 프로퍼티는 환경설정 가능해집니다. 현재 값은 클래스와 연결된 .ini 파일에 저장되며, 생성시 로드됩니다. 디폴트 프로퍼티에 값을 줄 수는 없습니다. BlueprintReadOnly 로 간주합니다. |
EditAnywhere | 이 프로퍼티는 아키타입이나 인스턴스 양쪽의 프로퍼티 창에서 편집할 수 있습니다. 이 지정자는 어떤 "Visible" 지정자와도 호환되지 않습니다. |
EditDefaultsOnly | 이 프로퍼티는 프로퍼티 창에서 편집할 수 있지만, 아키타입 상에서만 가능합니다. 이 지정자는 어떤 "Visible" 지정자와도 호환되지 않습니다. |
EditInstanceOnly | 이 프로퍼티는 프로퍼티 창에서 편집할 수 있지만, 아키타입이 아닌 인스턴스 상에서만 가능합니다. 이 지정자는 어떤 "Visible" 지정자와도 호환되지 않습니다. |
Replicated | 이 프로퍼티는 네트워크를 통해 리플리케이트됩니다. |
ReplicatedUsing=FunctionName | ReplicatedUsing 지정자는 네트워크를 통해 프로퍼티를 업데이트할 때 실행되는 콜백 함수를 지정합니다. |
VisibleAnywhere | 이 프로퍼티는 모든 프로퍼티 창에 보이지만 편집할 수 없음을 나타냅니다. 이 지정자는 "Edit" 지정자와 호환되지 않습니다. |
VisibleDefaultsOnly | 이 프로퍼티는 아키타입에 대한 프로퍼티 창에서 보이기만 할 뿐, 편집할 수는 없음을 나타냅니다. 이 지정자는 어떤 "Edit" 지정자와도 호환되지 않습니다. |
VisibleInstanceOnly | 이 프로퍼티는 아키타입이 아닌 인스턴스에 대한 프로퍼티 창에서 보이기만 할 뿐, 편집할 수는 없음을 나타냅니다. 이 지정자는 어떤 "Edit" 지정자와도 호환되지 않습니다. |
Category = TopCategory |
블루프린트 편집 툴에 이 프로퍼티를 표시할 때의 카테고리를 지정합니다. |
Edit~ Visible~ 차이: Edit는 편집 가능함, Visible은 편집 불가능하고 보이기만 함
DefaultOnly 의미: 블루프린터 에디터의 디테일 창에서만 가능
InstanceOnly 의미: 월드 아웃라이너에 배치된 인스턴스의 디테일 창에서만 가능
Anywhere 의미: 모든 디테일 창에서 가능
참조: https://docs.unrealengine.com/4.26/ko/ProgrammingAndScripting/GameplayArchitecture/Properties/
'공부하자 > Unreal4' 카테고리의 다른 글
[Ue4] 스트링 변환 정리 (0) | 2022.02.12 |
---|---|
[UE4] UMG 뷰포트 사이즈, 위치, 상대 위치 구하는법 정리 (0) | 2022.01.13 |
[Ue4] UMG 위젯 사이즈 즉시 갱신하는 방법 (0) | 2022.01.13 |
[Ue4] AnimNotify Branching Point Warning 원인 및 몽타주 틱 유형 정리 (0) | 2022.01.10 |
[Ue4] gen.cpp error C2065 빌드 에러시 해결방법 (0) | 2022.01.05 |