UObject는 기본적으로 블루프린트로 하위 클래스를 만들 수 없다.

하지만, 가끔씩 블루프린트로 만들어 그 안에 값을 채워넣거나 해서 사용해야할 경우가 생기는데, 이때 UClass 매크로에 몇가지 지정자를 넣어주면 된다.

Blueprintable이 클래스를 블루프린트 생성이 가능한
베이스 클래스로 노출시킵니다.
기본값은 다르게 상속되지 않는 한 NotBlueprintable 입니다.
이 지정자는 서브클래스에 상속됩니다.
BlueprintType이 클래스를 블루프린트에서
변수로 사용할 수 있는 유형으로 노출시킵니다.
https://docs.unrealengine.com/ko/Programming/UnrealArchitecture/Reference/Classes/Specifiers/index.html

Blueprintable을 추가하면 일단 Blueprint로 만들수 있게 되고, BlueprintType을 넣으면 블루프린트 타입의 변수로써 사용가능하도록 만들 수 있다.

UCLASS(Blueprintable, BlueprintType)
class UPartsDictionary : public UObject
{
    GENERATED_BODY()
}

위처럼 UCLASS 매크로 클래스 지정자 구문을 추가하면 된다.