The tags are what you want them to be. Or in a more complicated way tags are defined by their use.
For example all lights have tag
unit_light which is used by lance spawner to spawn units on early difficulties. However, nothing stops you from putting this tag on an assault 'mech.
There does not seem to be a thing called required tag. A 'mech without tag
unit_mech is still a 'mech. But it won't spawn dynamically, because all dynamic 'mech spawners use
unit_mech.
Now the funny thing is: unit without weight tag (e.g.
unit_light) will still have a chance to spawn, because there are spawners that are exclusive rather than inclusive. For example in lance spawner d10 (highest difficulty level) Battle, one of the 'mechs is defined as NOT
unit_light and NOT
unit_medium. And a 'mech without weight class tag meets this requirement.
Out of the other tags:
- unit_fallback is a tag used if something with the spawner goes horribly wrong and no 'mechs are found or something like that. It is a citation from a comment in the code BTW. Currently it is only used on one 'mech which is Cicada CDA-3C. Fallback as in fallback behaviour.
- BLACKLISTED is used for stuff that should not fall in hands of the player randomly. Spoiler 'mechs are BLACKLISTED. My belief is that you use this to make something unique - it won't drop from 'mechs, show up in stores, be dynamically spawned, etc. Story stuff basically.
- I haven't seen the ksbeta and the privatebeta tags in use anywhere on 'mechs. They are in use on pilots though (pilot equivalent tags with ksbeta that is): the skirmish AI pilots use them.
- unit_urbie is a rarity tag in a way. Only the UrbanMech has it, and from what I've seen all dynamic lance spawners (even the assault ones) exclude it. Which answers the question: "why there are no Urbies on the battlefield". So use it to make a 'mech available in shops but not available on the battlefields.
- The rest of the tags are used in various proportion in the lance spawners. E.g. unit_cavalry and unit_jumpOK is required for most 'mechs in cavalry lance spawner. Battle lance on the other hand will usually not exclude any types of 'mechs (though higher tonnages will require one unit_tank). Etc. Etc. Recommend going through data/lance files that have dynamic in name.
Coming back to
unit_rare tag. There is none. But you can make one and add it in couple of spawners. Then create 'mech variants for those weight classes with this tag. If you exclude the tag for 3 out of 4 'mechs and leave the last one without change, the rare 'mech has a chance to spawn, but it is not 100%. So it will happen ... rarely