Creature Selection Menu.

There’s a couple ways you could go about it. You could spawn the player character/class with an empty skeletal mesh, at a location set for sat “character selection”, and construct the mentioned widget. Upon selection of the desired creature, set the mesh and animation BP and IMC. Then Set their location to a spawn point.

Alternatively, you could spawn a character selector class to select the creature,
then spawn the player character passing some variables to set it’s creature and functionality, and possess that actor with the player controller, and destroy the “character selector” actor.

Either way I’d use level streaming to setup a character select area, as well as a widget system for selecting the creature. As far as how to store the data for the various creatures I like the Data table feature as you can store all the needed information for your creatures, call the desired row, and set an actors variables/components on begin play.

I’d use the first mentioned method myself in this scenario.