Characters & assets
Assets
How meshes, images and textures are loaded at runtime from mod folders, and the rules they follow.
Underlives never cooks mod content. Meshes, pictures and textures are read from your mod folder when the game needs them.
Where assets are looked up
| Kind | Folder | Referenced as | Loaded by |
|---|---|---|---|
| Pictures for UI | Images/ |
"Nightlife/cocktail.png" |
UI:CreateImage, .ulitem IconId, .ulcloth IconId |
| Map icons | Map/Icons/<Group>/ |
"<Group>/<name>" or by convention |
The map HUD, the player panel, history lines |
| Garment and hair meshes | Meshes/ |
MeshId: Clothes/Tops/x.fbx |
.ulcloth, .ulhair |
| Garment textures | Meshes/…/Textures/<mesh>/ |
by name (Default_BC.png) |
Clothing |
| Thumbnails | Thumbs/ next to the file they illustrate |
by id (<id>.png) |
Wardrobe, creator, room editor |
| Room kits and sets | Rooms/ |
"GenericKit/kit_bar.glb#Wall", "Sets/60sDiner" |
Rooms |
| Look textures | Looks/Textures/ |
by name | Looks |
Every lookup goes through the load order: the same relative path in a later mod replaces the earlier file. Replacing an icon or a texture is one file.
Formats
| Kind | Format |
|---|---|
| Pictures | .png (8-bit, sRGB). Normal maps and masks are read as data automatically when named _N / _M |
| Characters, clothing, hair | .fbx exported from Daz Studio on Genesis 8 |
| Room kits and furniture | .glb (glTF binary), one node per piece |
Rules that save you trouble
- Keep paths lowercase-safe and without spaces where you can; they are file paths on the player's disk.
- Normal maps are data, not pictures. Name them
_N.pngso they are decoded linearly; an sRGB-decoded normal map renders the surface almost black. - Mind the size. A 4K texture per garment adds up fast across a street full of people. 1–2K is plenty for clothing.
- Glass and emissive surfaces in room packs are recognised by their material names (
Glass,Bulb,LED,Shade,Filament…). - Collision is not required: the game does not rely on it to pick furniture.
Licences
Shipping assets you did not make needs their licence to allow redistribution. Put a LICENSE.txt next to them (the base sets do), and credit authors in your MODULE_DESCRIPTION or a file of its own.