UPROPERTY
형식 지정자
- Blueprint 관련
- BlueprintAssignable: 해당 변수가 블루프린트에서 이벤트로 사용될 수 있도록 합니다.
- BlueprintCallable: 해당 변수가 블루프린트에서 함수로 사용될 수 있도록 합니다.
- BlueprintReadOnly: 해당 변수가 블루프린트에서 읽기만 가능하도록 합니다.
- BlueprintReadWrite: 해당 변수가 블루프린트에서 읽기와 쓰기가 가능하도록 합니다.
- Category
- Category: 해당 변수가 에디터에서 어떤 카테고리에 속하는지 지정할 수 있습니다.
예시 : UPROPERTY(Category="abcd")
- Editor 관련
- EditAnywhere: 해당 변수가 에디터에서 수정 가능하도록 합니다.
- EditDefaultsOnly: 해당 변수가 에디터에서 수정 가능하지만, 인스턴스마다 값이 다르지 않도록 합니다.
- EditFixedSize: 배열이나 TMap 등의 컨테이너 타입에서 해당 컨테이너의 크기를 수정할 수 없도록 합니다.
- EditInstanceOnly: 해당 변수가 에디터에서 수정 가능하지만, 아티팩트와 같이 인스턴스마다 값이 다르도록 합니다.
- EditInline: 해당 변수가 인라인 에디팅 가능하도록 합니다.
- EditInlineNew: 해당 변수가 인라인 에디팅 가능하며, 새로운 객체를 생성할 수 있도록 합니다.
- Export: 해당 변수가 에디터에서 내보내기 가능하도록 합니다.
- Visible 관련
- VisibleAnywhere: 해당 변수가 에디터에서 볼 수 있도록 합니다.
- VisibleDefaultsOnly: 해당 변수가 에디터에서 볼 수 있지만, 인스턴스마다 값이 다르지 않도록 합니다.
- VisibleInstanceOnly: 해당 변수가 에디터에서 볼 수 있도록 하지만, 아티팩트와 같이 인스턴스마다 값이 다르도록 합니다.
- Meta 메타데이터 지정자
- AdvancedDisplay: 해당 변수가 에디터에서 고급 표시를 지원하도록 합니다.
- AssetRegistrySearchable: 해당 변수가 에셋 레지스트리에서 검색 가능하도록 합니다.
- Category: 해당 변수가 에디터에서 어떤 카테고리에 속하는지 지정할 수 있습니다.
- ClampMax: 해당 변수가 허용되는 최대값을 제한합니다.
- ClampMin: 해당 변수가 허용되는 최소값을 제한합니다.
- EditCondition: 해당 변수가 에디터에서 표시되는 조건을 지정할 수 있습니다.
- EditConditionHides: 해당 변수가 에디터에서 숨겨지도록 합니다.
- EditFixedOrder: 해당 변수가 에디터에서 고정된 순서로 표시되도록 합니다.
- EditInline: 해당 변수가 인라인 에디팅 가능하도록 합니다.
- EditInlineNew: 해당 변수가 인라인 에디팅 가능하며, 새로운 객체를 생성할 수 있도록 합니다.
- EditReference: 해당 변수가 에디터에서 참조를 편집할 수 있도록 합니다.
- EditTemplate: 해당 변수가 에디터에서 템플릿을 편집할 수 있도록 합니다.
- Instanced: 해당 변수가 인스턴스마다 값이 다르도록 합니다.
- MakeEditWidget: 해당 변수를 에디터에서 위젯으로 표시합니다.
- MultiLine: 해당 변수를 에디터에서 여러 줄로 표시합니다.
- NoClear: 해당 변수가 에디터에서 None으로 설정되지 않도록 합니다.
- NotReplicated: 해당 변수가 네트워크로 복제되지 않도록 합니다.
- PerObjectConfig: 해당 변수가 객체마다 다른 값을 가질 수 있도록 합니다.
- PersistentGuid: 해당 변수가 에셋이 저장될 때마다 고유 식별자를 유지하도록 합니다.
- SaveGame: 해당 변수가 세이브 게임에 저장될 수 있도록 합니다.
- SkipSerialization: 해당 변수가 직렬화되지 않도록 합니다.
- TitleProperty: 해당 변수가 배열이나 맵 등에서 타이틀로 표시되도록 합니다.
사용법 - UPROPERTY(meta = (지정자))
아주 좋은 예시 - https://wecandev.tistory.com/119
- 그 외
- Export: 해당 변수가 에디터에서 내보내기 가능하도록 합니다.
- Interp: 해당 변수가 보간 가능하도록 합니다.
- Instanced: 해당 변수가 인스턴스마다 값이 다르도록 합니다.
- Meta: 해당 변수에 메타 데이터를 추가합니다.
- NoClear: 해당 변수가 에디터에서 None으로 설정되지 않도록 합니다.
- NonPIEDuplicateTransient: 해당 변수가 Play In Editor 세션을 제외하고 복제될 때 기본값으로 재설정되도록 합니다.
- NotReplicated: 해당 변수가 네트워크로 복제되지 않도록 합니다.
- OnlyPlaceable: 해당 변수가 PlaceableOnly 속성이 설정된 클래스에서만 사용될 수 있도록 합니다.
- Protected: 해당 변수가 파생 클래스에서만 사용될 수 있도록 합니다.
- ReadOnly: 해당 변수가 읽기 전용으로 설정되도록 합니다.
- Replicated: 해당 변수가 네트워크로 복제되도록 합니다.
- Transient: 해당 변수가 직렬화되지 않도록 합니다.