Generated Sims (townies, NPCs, service Sims, dating app profiles, Sims offered for adoption) get their skin tone, hair colour, eye colour, face shape and body shape from real population data, instead of a random pick from the Create-a-Sim palette.
Why
The game picks a generated Sim's skin tone from the whole palette, with no notion of where your game takes place. Since the 2020 skin tone update, only about 1 in 8 picks lands on a light skin tone, even in neighbourhoods that are clearly Western. Hair colour, eye colour and face shape are drawn independently of the skin, which gives combinations that are extremely rare in real life.
35 adults generated by the unmodded game:

Also from the unmodded generator: dark skin with green eyes, red hair, blond hair.



The game vs this mod
| The game | With this mod | |
|---|---|---|
| Origin | None: every trait is drawn on its own | From census data for the chosen country, shared by a household |
| Skin tone | Any tone of the palette, about 1 pick in 8 is light | Lightness from population data, undertone EA intended for the origin |
| Hair colour | Drawn regardless of skin or origin | Measured frequencies for the origin |
| Eye colour | Drawn regardless of skin, hair or origin | Linked to hair colour, as in real populations |
| Face shape | Eye, nose and mouth presets drawn regardless of origin | EA's own presets for the Sim's origin |
| Hairstyle | Drawn regardless of origin | Afro-textured styles for African and Latin American Sims, hair form per origin |
| Body shape | Narrow bell curve around "average" | BMI by country, sex and age |
The irony: EA already tagged skin tones, face presets and hair colours by origin, and the game even contains the code to keep them consistent. The townie generator just never applies it to hair, eyes or face. Details in the methodology.
The mod also makes sure that hairstyles, beards and eyebrows suit the Sim's gender, that beard and eyebrows match the hair's exact shade, that mixed Sims follow the rules of inheritance (light hair and eyes are recessive), that children look like their parents, and that elders keep grey hair in a style fitting their origin.
What it does
Each generated Sim gets:
- an origin, based on census data for the chosen country;
- a hair colour, and an eye colour linked to the hair colour (as in real populations);
- a matching skin tone, with the undertone EA intended for that origin;
- eyes, nose and mouth from EA's own face presets for that origin;
- a body shape based on measured BMI by country, sex and age;
- a hairstyle, beard and eyebrows made for their gender.
Families stay consistent: children look like their parents, and babies of generated Sims inherit their look.
Same spot, 35 adults with the france profile:

Settings
rsim.cfg, next to the mod:
profile: europe (default), france, uk, usa, germany, spain, italy, netherlands, sweden, poland, japan, china, korea (South Korea), indiaauto_apply: apply the profile to every Sim the game generates (default true)official_only: only use EA hair, beard, eyebrow and eye colour parts, never custom content (default true)face_presets: give generated Sims face shapes matching their origin (default true)names: give generated Sims names from EA's list for their origin, where EA has one (default true)
Console commands
rsim.rerollcounts the generated Sims already in your save;rsim.reroll confirmapplies the profile to them. Played households and hand-made, premade, born or adopted Sims are never touched. Save first.rsim.spawn [count] [age] [profile]spawns test Sims next to your Sim (35 by default). Age: adult, young_adult, teen, child, elder, mix (random age per Sim) or family (two adults, a teen and a child). Profile: a profile name, default (the one in rsim.cfg) or vanilla (the unmodded generator, for comparison).rsim.facepreset [count] [archetype] [eyes|nose|mouth|all]spawns test adults with the face presets of one origin (asian, african, south_asian, middle_eastern, latin, caucasian, island, native_american).rsim.cleardeletes the test Sims.rsim.freezestops them from wandering off.rsim.profileslists the profiles.
Methodology and sources
Every figure, its source and the full method are on GitHub: github.com/ExtReMLapin/realistic-sim-phenotypes (see docs/METHODOLOGY.md).
Install
Extract the zip into your Mods folder (it contains a RealisticSimPhenotypes folder with rsim.ts4script and rsim.cfg). Script mods must be enabled in the game options. When updating, replace both files.
Changelog
0.3.0
- New country profiles: japan, china, korea (South Korea), india.
- Names: Sims of origins EA has a name list for (Japanese, Chinese, Indian, Moroccan, Latin, Islander, Southeast Asian, Native American) get a matching first name, and their household one last name. European, African and Korean Sims keep names in the game's language. rsim.reroll never renames.
- Beard and eyebrows take the exact shade of the hair, whatever colour the game had given them.
- Afro-textured hairstyles (afros, braids, locs) only for African and Latin American Sims.
- Mixed Sims follow the rules of inheritance: darker hair and eyes and curlier hair win; in mixed and Latin American Sims, light hair and eyes come with lighter skin.
- Elders keep grey hair in a style fitting their origin; elders the game gave a colour get a natural one.
0.2.0
- Face shape: eyes, nose and mouth from EA's face presets tagged for the Sim's origin. Only presets that fit the Sim's age, gender and body frame, and only human ones (EA files alien and werewolf face presets with the human ones).
- Skin undertone: at equal lightness, the tones EA tagged for the Sim's origin are favoured.
- Fixed: men could get feminine hairstyles and women masculine ones. Every EA hairstyle exists for both body frames, so the game offers all of them to everyone; the mod now follows the same tags as Create-a-Sim's gender filter (hair, beards, eyebrows).
- Fixed: babies of generated Sims inherited the game's original body shape; face and body shape now go into the genetics too.
- New rsim.facepreset test command, Polynesian and Native American origin groups (not used by the country profiles yet).
0.1.0
- First beta.