A Tag Definition describes a collection of Tags. These tags are keywords used for labeling fragments (and transitions). To see how you assign tags to fragments and transitions, see the Mannequin Fragment Browser and Mannequin Transition Browser respectively.
Tags can have priorities associated to them. Tag priorities are used for ranking TagStates.
Tags can optionally be grouped together within Tag Groups, which are lists of tags that are mutually exclusive. For example you can have a group called "Weapon" which contains "Rifle", "Pistol" and "NoWeapon" tags. In this example you can never have both "Rifle" and "Pistol" tags set at the same time, which makes sense if you can only use one weapon at a time in your game.
Tag definition files can include other tag definition files hierarchically.
Each individual tag must have a unique name within a Tag Definition.
Casing of tags is ignored. So for example "rifle", "Rifle" and "RIFLE" are all seen as the same tag.
And even if tags are in different groups, they cannot be given the same name.
You create Tag Definitions using the Mannequin Tag Definition Editor.
You edit Tag Definitions using the Mannequin Tag Definition Editor.
However, you cannot edit the hierarchical inclusion of other tag definition files in this editor. For this, you will need to manually edit the XML file. See the Tag Definition File (xxxTags.xml).
Tag definitions are stored in a Tag Definition File (xxxTags.xml).
In code, Tag Definitions are represented by a Mannequin CTagDefinition.