Question about Architecture of game and classes

for storing data - you can choose for designer data tables (without embedded structs) or assets .

I guess, you can read about similar loading DataAsset approach here.

and if I understand correctly that you don’t need to manage this data somehow in game logic, but in game editor, then you don’t need any kind of object manager.

as I can see (:
GeneComponent:

  1. receive LevelUp,
  2. ask static library (if there are many functions, then MutationLibrary) to pickup random mutation from DataAsset,
  3. apply mutation on his owner Pawn.