Name is usually not random, its meant to tell about their personality. Example: my warriors oc's name is poisonteeth.
Poison is bc his eyes are poison green. Teeth means the is good fighter.
Desing need to be thought a lot. It gotta be good
Lore, like you said, is most important. If they don't have one, family, clan and rank make up a lot.