Unreal Engine에서 UCLASS 매크로에 붙이는 지정자(specifier)는 해당 클래스가 엔진과 에디터에서 어떻게 동작할지 제어하는 키워드이다.
클래스 선언부에 추가하여 다양한 엔진 기능과 연동하거나, 블루프린트 노출, 객체 저장 방식, 에디터 표시 등 여러 동작을 지정할 수 있다.
UCLASS의 괄호 안에 기본적으로 지정자가 비어있다.
UCLASS가 명시될 경우 body 부분에서 GENERATED_BODY() 매크로가 필요하다.
UCLASS()
class MY_API MY_Class
{
GENERATED_BODY()
};
종류가 많기 때문에 자주 사용하는 예시만 설명한다.
Blueprintable : 블루프린트에서 이 클래스를 기반으로 새 블루프린트를 생성할 수 있게한다.
BlueprintType : 이 클래스를 블루프린트의 변수 타입 등에서 사용할 수 있게 한다.
Abstract : 추상 클래스로 지정하며, 직접 인스턴스화/에디터에 배치 불가능하다.
Config=이름 : 지정한 .ini 설정 파일에 클래스 데이터를 저장할 수 있게 한다.
MinimalAPI : 클래스의 타입 정보만 외부 모듈에 공개 하고, 함수는 외부에서 호출 불가능 하게 한다.
Transient : 해당 클래스의 인스턴스는 저장되지 않으며 임시 객체로 사용한다.
출처 - Class Specifiers