Skip to content

Appearance Assets

Appearance assets are the visual resources a root can use: body textures, face parts, overlays, attachments, colour options, and other rig-compatible details.

Townstead does not treat these as one global pool. Assets are matched to the current species and rig so eyes, mouths, overlays, attachments, wearable anchors, and equipment placement line up with the body that is actually being rendered.

Loaded species, rigs, genes, and compatible assets can also feed generated character-creation or customization tabs. Those tabs should only offer choices that fit the current species and rig.

AssetWhy It Matters
Base textureMust match the UV layout of the rig model.
Face texturesEye and mouth sprite strips need the rig’s face anchor and expected frame layout.
Skin tints and overlaysNeed to fit the species texture layout and material assumptions.
AttachmentsNeed bones or anchors that exist on the rig. See Attachments.
Wearables and held itemsNeed hand, head, back, boot, and first-person transforms that suit the body shape.
Armour and equipmentNeed layer choices or custom handling that match the body.

Species and rig data form the compatibility envelope for visual assets. For the breeding and inheritance side of that boundary, see Species and Inheritance.

Face genes use the rig’s face block.

Gene TypePurpose
townstead_roots:eyesSelects a custom eye texture and optional glow.
townstead_roots:eye_colorTints custom eyes.
townstead_roots:mouthSelects a custom mouth texture.

Eye and mouth textures should be authored for the face size, centre, and frame layout expected by the rig.

Face assets are loaded as pack assets, then selected through genes or generated UI choices. Eye and mouth options should be grouped by the species or rig they are compatible with; a sprite strip that fits one face layout may not line up on another.

Custom body and character tabs are generated from loaded Roots data instead of being hard-coded per species. In practice, this means a pack can add a species, rig, face assets, overlays, or compatible attachments, and Townstead can expose compatible choices without every option being manually wired into the screen.

The generated tabs depend on the same compatibility rules as rendering:

Tab SourceWhat It Can Offer
Species and rig dataBody base, scale, supported bones, face layout, equipment anchors, and stage rig choices.
Appearance genesInherited or selectable skin tone, eyes, eye colour, mouth, overlays, hidden features, scaled parts, body proportions, and attachment choices.
Loaded assetsTexture choices, face sprite strips, overlays, compatible attachment assets, and other visual resources that match the current rig.

Do not assume one global list of eyes, mouths, bodies, or attachments. Treat these as species-compatible assets that the UI can discover and present when the current root/species can actually use them. The attachment system is large enough to have its own Attachments section.

Gene TypePurpose
townstead_roots:skin_toneApplies a skin tint with blend mode and strength.
townstead_roots:attachmentGrants one or more render attachments, with heritable size and colour. See Attachments.
pheno:body_metricRolls normalized MCA body metrics.
pheno:proportionsRolls multiple body metrics and free-form render scales.
pheno:scaled_partScales a named part.
pheno:hide_featureHides a named feature.
pheno:overlayAdds a render overlay.
pheno:particleEmits particles.

Use species and rig files for the base body. Use genes when the feature should vary, be inherited, or be editable as a carried variant.