You’ll want to probably do modular character meshes (Skeletal Mesh Merge) and have custom logic/abilities in actor components that are added at runtime based on character type.
You’ll only need a single character class that can be used for thousands of characters.