September 25, 2026

Explanation of TS4 genetics system (trying to post new content)

Hi everyone! Well, I promised to try explaining game mechanics here. And I'd like to explain today why it's impossible to pass grandparents genetics without my genetics overhaul collection.

Genetics creation process insides

The CAS functions are not accessible to modders for reading or editing, but in this case we don’t need to know the internal code. We’re interested in what input data the function that determines the child’s genetics.

generate_offspring(parent_a._base, parent_b._base, self._base, **kwargs)

You don't need to understand whole code. It's enough to notice that the CAS function accepts only the _base data instead of accepting the sim data entirely. The base data is the core data, such as first and last name, age, appearance and traits.

And most importantly: it does not contain the genealogy data. It means, that it's impossible for the CAS function to retrieve the genealogy from the _base field and, particularly, the grandparents appearance.

Moreover: in some cases you could face the Last Exception using my mod which pointed out to non existence of the genealogy data. That's because sometimes the game passes only the base data right from the start, so even my mod can't retrieve genealogy. Now, in such cases the EA genetics is applied and you'll be notified about that.

But what if sims look similar to grandparents?

First, we should separate several appearance attributes.

When we're talking about hair and eye color, it's a plain coincidence, which is caused either by EA bug or incorrect color tags on your CC.

If we're talking about face presets, situation becomes more interesting. You may think that a CAS preset has its own unique forms on each age stage, and thus presets inheritance works strictly. That's not true. Instead, various presets have multiple versions based on age and gender. Let's look at the presets map by age and gender:

The first ID is for the adult female version, the last one - for the male one. Between them there are presets for different age stages. You can notice here, that one preset has two versions of children presets (compare columns 3-5). And the same children presets may represent other similar adult presets. That's why you can think a child inherited the grandparent preset.

Another reason is the sliders values. They can change the preset appearance so much it resembles another preset. I come across this all the time, because the twins check algorithm compares the appearance of two Sims who look identical, yet the values of some sliders differ by 50% or more, and vice versa.

I mean, it's not obvious at all how various mix of appearance attributs can look, yet we tend to remember such coincidences because we love the idea having a child which resembles their grandma or grandpa. But nah, the Sims 4 genetics system sucks.

I hope it was interesting to read. I'd love to see your reaction and questions if you have any! I did my best to investigate how genetics works and explain it to you.

Comments (10)

K
Kristina Z. · September 28, 2026

this is brilliant explanation but i do have a question if you have MCCC does this apply the same? as using the cheat code you use explained here? in short is the same back end function or it is totally different?

S
SonozakiSisters · September 28, 2026

If you mean if the generate_offspring function is applied then yes. MCCC doesn't interfere with the birth process. Instead, it freezes the pregnancy random state (I can explain in another post what is so cursed in pregnancy progress if you're interested) and applies some cosmetic fixes when a child grows into teen. Only my function replaces the _base input data, mixing it with the grandparents attributes. That's why the mod is compatible with almost everything I can think of

L
Lizz Alkula · September 26, 2026

I have no idea (or a very tiny idea) of what I just read lol but I still appreciate it. Does this mean that basically there *isn't* a true genetics in Sims 4 (without a mod)?

S
SonozakiSisters · September 26, 2026

Well there is a basic genetics without anything complicated. Like, the CAS function accepts the parents appearance, sure, but no data about grandparents, and everything is randomized 50/50. I.e., my mod ensures that with an inherited face part (nose or eyes) the corresponding slider values also will be inherited from the same ascendant. Otherwise it's often hard to say if they are really alike (I explained it in the end of the post). The ea genetics doesn't care about such things. Not to mention poor occult genetics. Occult eyes are always absolutely random instead of being inherited (except the vampires ones) just because EA didn't add eye color tags lol. So yeah, it's very, very simple and buggy

P
Psylocke X · September 25, 2026

That makes sense now :o . Thanks for that post \o/

S
SonozakiSisters · September 25, 2026

You're welcome! I'm glad it's helpful

z
zero · September 25, 2026

Interesting! My biggest take away from the info is learning what the _base data entails, cos that makes the rest of it actually a lot easier to understand. I love when there's a piece of info that sort of demystifies a ton of stuff just on its own. Not everything works out that way but it's fun when it does :)

S
SonozakiSisters · September 25, 2026

Thanks! Yeah, learning what exactly the _base data contains is essential. That's how I started writing the code of this mod

V
Verena Gäde · September 25, 2026

Are your mods compatible with the new patch?

S
SonozakiSisters · September 25, 2026

Yes