To create an trait, you first need to make a class overriding CustomTrait.
Example:
There is no diffrence between cult traits and regular traits. Cult traits are added by FollowerTrait.AddCultTrait(FollowerTrait.TraitType); and regular ones by followerBrain.AddTrait(FollowerTrait.TraitType); on a follower’s brain.
To add a trait to the game, simply use CustomTraitManager.Add().
Example:
Assigning the result of CustomTraitManager.Add() allows you to reference that trait elsewhere in your code using Plugin.ExampleTrait.
Final Steps
For the icon to load, you need to put it in the appropriate location. For the example, this would be /Assets/ExampleTrait.png relative to the root folder containing the .dll
Directory structure: