Zerbu is still active. He came back from whatever was going on before a few months back, if I'm remembering the dates right.
He made a post on twitter the other day about possibly releasing an "emergency update" earlier than his intended new version release of Mod Constructor. You can see the tweet here:
Also, what's going has a few parts to it, though I'm pretty sure only one of them is vital for the trait to work (I'm not totally clear on all the details... I'll explain more on that below).
Part 1: Species
Traits now need to have species code in them for them to appear properly.
Here's an example of the updated DATA file for a CAS trait in Sims Studio:
<?xml version="1.0" encoding="utf-8"?>
<SimData version="0x00000101" u="0x00000000">
<Instances>
<I name="trait_Toddler_Silly" schema="Trait" type="Object">
<L name="ages">
<T type="Int64">4</T>
</L>
<T name="cas_idle_asm_key">00000000-00000000-0000000000000000</T>
<T name="cas_idle_asm_state"></T>
<T name="cas_selected_icon">00000000-00000000-0000000000000000</T>
<T name="cas_trait_asm_param">Cheerful</T>
<L name="conflicting_traits" />
<T name="display_name">0x18857EEE</T>
<L name="genders" />
<T name="icon">00B2D882-00000000-D467D3B21F361F64</T>
<L name="species">
<T type="Int64">1</T>
</L>
<L name="tags">
<T type="Int64">234</T>
<T type="Int64">755</T>
</L>
<T name="trait_description">0x528AF917</T>
<T name="trait_origin_description">0x00000000</T>
<T name="trait_type">0</T>
<V name="ui_category" variant="0x603EAA6C">
<T type="Int64">0</T>
</V>
</I>
</Instances>
<Schemas>
<Schema name="Trait" schema_hash="0x53D584C8">
<Columns>
<Column name="ages" type="Vector" flags="0x00000000" />
<Column name="cas_idle_asm_key" type="ResourceKey" flags="0x00000000" />
<Column name="cas_idle_asm_state" type="String" flags="0x00000000" />
<Column name="cas_selected_icon" type="ResourceKey" flags="0x00000000" />
<Column name="cas_trait_asm_param" type="String" flags="0x00000000" />
<Column name="conflicting_traits" type="Vector" flags="0x00000000" />
<Column name="display_name" type="LocalizationKey" flags="0x00000000" />
<Column name="genders" type="Vector" flags="0x00000000" />
<Column name="icon" type="ResourceKey" flags="0x00000000" />
<Column name="species" type="Vector" flags="0x00000000" />
<Column name="tags" type="Vector" flags="0x00000000" />
<Column name="trait_description" type="LocalizationKey" flags="0x00000000" />
<Column name="trait_origin_description" type="LocalizationKey" flags="0x00000000" />
<Column name="trait_type" type="Int64" flags="0x00000000" />
<Column name="ui_category" type="Variant" flags="0x00000000" />
</Columns>
</Schema>
</Schemas>
</SimData>
Note the part about species and ui_category. It needs to be added both in the schemas part and the simdata part or it won't save the data properly.
Then in the XML file for the trait, you need to have a reference to species as well. Here's an example:
<?xml version="1.0" encoding="utf-8"?>
<I c="Trait" i="trait" m="traits.traits" n="trait_Toddler_Silly" s="140743">
<L n="ages">
<E>TODDLER</E>
</L>
<L n="buffs">
<U>
<T n="buff_type">143175<!--Buff: buff_Trait_Toddler_Silly--></T>
</U>
</L>
<T n="cas_trait_asm_param">Silly</T>
<T n="display_name">0x19D153B4<!--String: "Silly"--></T>
<T n="display_name_gender_neutral">0x5B69E124<!--String: "Silly"--></T>
<T n="icon" p="InGame\UI\Icons\CAS\Traits\traits_silly_cas.png">2f7d0004:00000000:38c0a703ddfea044</T>
<E n="min_lod_value">MINIMUM</E>
<L n="species">
<E />
</L>
<L n="tags">
<E>TraitPersonality</E>
<E>TraitGroup_Emotional</E>
</L>
<U n="trait_asm_overrides">
<V t="enum" n="param_type">
<T n="enum">trait_toddler</T>
</V>
<T n="trait_asm_param">silly</T>
</U>
<T n="trait_description">0x6E64927B<!--String: "Goofy and curious. These Toddlers love to tell jokes and get Playful. They earn Imagination skill slightly faster."--></T>
<E n="trait_type">PERSONALITY</E>
<V t="ui_trait_category_tag" n="ui_category" />
</I>
So far, from what I know, the species part is what's vital for getting the trait to appear properly.
Part 2: min_lod_value
In the XML part, you also want the "min_lod_value". This has something to do with culling that I don't fully understand, but I'm pretty sure it's important to making sure the trait doesn't go poof on a lower priority sim.
This part doesn't need any new adds to the DATA file, just the XML part.
Part 3: ui_category
The ui_category part, according to the new TDESCs, has something to do with how the trait appears in the relationship panel... but in my testing, it doesn't appear to have any impact for custom traits (they still aren't showing up in the relationship panel). So I don't know what the deal is there.
It may be worth adding in the XML and DATA code for this regardless, in case it's tweaked somehow in a later patch. Right now, it doesn't appear to do anything to custom traits one way or another. But it is present in all Maxis CAS traits now, so no harm in imitating.
Thank you for posting how you went about fixing these files. However I keep running into a problem where when I open S4S and I try to edit these files of my custom traits they do not want to save. I was wondering if to edit the xml and SimData files if I could do it in S4S or if you used another program such as s4pe to do it?