<Solved> Allow Abstract Classes in TSubclassOf properties to show in editor?

Right now Abstract Classes aren’t selectable as possible values in TSubclassOf UPROPERTIES.

This makes sense sometimes.

There are times when you want TSubclassOf to allow abstract classes. In fact I successfully set the property to an abstract class from C++. I just can’t do it from blueprint.

I have an object that acts as a container for a type of Actor. There’s a property that restricts what subclasses are allowed. In this case I want to say all classes inheriting from some class are allowed, and in this case I need to be able to select an abstract class. Right now it seems like the only option is to make my abstract classes not abstract.

Imagine not being able to create TArray<AActor *> if Actor was abstract. That’s kindof the problem I’m running into now on the blueprint side. There may need to be some meta specifier added to TSubclassOf properties to allow abstract classes.

Wow, actually I found that it exists. Somehow the Table of contents on the side doesn’t show the UPROPERTY section but if you scroll all the way down manually these are all there.

meta = (AllowAbstract = “true”)

1 Like

Thanks. It helped a lot!

P.S. you can specify true without quotes as well.