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?