Serialize Editor-made actors

I have created a C++ class “AEnemyBase”, inherited from ACharacter, which I use as the basis for enemies. I create a blueprint in the editor based on this class and pick the mesh and set some custom properties. Right now, I have a C++ class “EnemyManager” that spawns different enemies. I have to assign the enemies to it at the level start through an exposed property type, like this:

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Enemies")
TSubclassOf<class AEnemyBase> EnemyType1;

But this is quickly getting out of hand as I add more enemy types. What I’d really like to do is have a database of all the known enemy types that the EnemyManager can use. So my question is:

How can I serialize the ACharacters, created in the editor, such that the class can look them up without having to assign them at the level start?

You can automatically populate this at runtime in your EnemyManager class instead of manually assigning it

for (TObjectIterator<UClass> It; It; ++It) {
	UClass* Class = *It;
	if (Class->IsA(AEnemyBase::StaticClass())) {
		// Add Class to your list of enemies
	}
}