It is written by tools/sync-vault.mjs in the bubbly-asset-rules repo, from the
JSON that Blender, Unity and the Asset Editor actually enforce. Editing it here changes
nothing and will be overwritten. To change a rule, change the rule.
Other pages transclude this one
![[Asset Rules (Generated)#Type prefixes]] embeds a section. If you move or rename
this note, every one of those embeds breaks.
Generated file
Written by tools/generate-docs.mjs from the JSON in rules/.
Edits here are overwritten. Change the rule, not the table.
Asset Rules
Rules version 1.5.0, schema 1.
Every rule below is enforced by the Blender add-on, the Unity postprocessor and the
Bubbly Asset Editor, all reading this one source. A rule is changed once.
Naming
Parts are joined with _. Names are at most 96 characters.
Asset is not in the category the decision ladder puts it in
info
CAT002
Texture is not in the category the texture ladder puts it in
info
CAT003
Kit asset does not carry a Set and SetNum
warning
The decision ladder
Applies to model and prefab categories. Read top to bottom and stop at the first yes.
#
Ask
Then it is
1
Does it deform? Is it skinned to a skeleton, or worn by something that is?
Character
2
Is it geometry for an effect rather than an object? Does it only make sense with a particle system, VFX graph or decal projector driving it?
Effect
3
Is it a piece of a modular set? Does it snap to the grid and connect to its siblings?
Kit
4
Anything still here.
Prop
Tiebreakers
Two answers still standing: take the one HIGHER on the ladder. Each step up asks more of the mesh than the step below it, so stopping early never asks less of an asset than it should.
Kit is a yes/no question and the answer is about the SET, not the piece. A wall built to tile against the other walls of AbandonedTavern is Kit. The same wall modelled once, for one building, connecting to nothing, is a Prop.
One mesh, one category. If a thing genuinely needs to be two, it is two meshes. The wall segment that is part of a kit and the one-off feature wall are not the same asset with a placement question.
A Kit piece carries a Set and a SetNum and no SubCategory, and that is what puts it in Kit/. A name with no Set is not a Kit piece, whatever it depicts (see CAT003).
Held items are Props. Swords, pans, brooms and lanterns are Props with a SubCategory that says what they are for. Where the hand goes is a socket on the prefab, set up in Unity, and it is not a property of the mesh.
Model categories in detail
Character
Anything rigged and animated as a creature or a person, plus everything skinned onto one.
Test. Does it deform when it moves? Does it have a skeleton with .L/.R bones?
Includes. Player characters · NPCs · Creatures · Body parts and heads · Hair · Clothing · Armour · Anything skinned to a character rig
Not. A rigid thing a character holds is a Prop, even though a hand is touching it. The line is skinning: a Character part deforms with bones, a held Prop is parented to a socket and stays rigid.
Authoring. vertexDensityTier character, pivot world origin, feet at Y=0
Effect
A mesh that exists to be rendered by an effect system rather than to be an object in the world.
Test. Does it only make sense with a particle system, VFX graph or decal projector driving it?
Includes. Particle meshes · Trail and ribbon geometry · Beam and cone shells · Flipbook cards and billboard planes · Decal meshes · Force-field and shield shells · Splash and impact sheets
Not. The effect asset itself is VFX, not SM. Effect covers only the meshes an effect needs. A puddle that is part of the level is a Prop; the splash that lands in it is Effect.
Authoring. vertexDensityTier mobile, pivot at the emission point
Kit
A piece of a modular set. It snaps to the grid, it connects to its siblings, and it is never the only one of its kind.
Test. Is it part of a set of pieces designed to tile and connect? Does it snap to grid.primary or grid.sub, with flat connecting faces?
Includes. Walls, floors, ceilings and roof sections of a kit · Stairs, ramps and railings that tile along a run · Doors and windows that fill a grid opening · Pillars, beams and trim runs · The panels, inserts, trim and corner pieces one split element is made of · Fence and wall runs · Pipe, cable and ducting runs · Built-in counters and cabinetry that snap to a wall segment · Road and bridge segments · Roof slopes, ridges, hips, valleys, verges and dormers · Gable walls, which are walls and belong with the wall pieces · Balcony slabs, balustrades and the corbels under them
Not. A one-off building modelled whole, a landmark, a statue, a tree, a cliff. None of those tile against anything, none of them snap, and putting them in Kit means Kit/ holds a set of one.
A standalone object. Everything that is not skinned, not driven by an effect system, and not a piece of a modular set.
Test. Is it its own thing rather than a piece of something else?
Includes. Furniture · Containers and crates · Clutter and tableware · Books and paper · Signage and pictures · Appliances and machines · Debris · Collectibles and pickups · Vehicles · Weapons, hand tools, utensils and anything else a character holds · Trees and plants · Cliffs, boulders and rock formations · Street lamps, hydrants, benches · One-off buildings and landmarks that are not built from a kit
Not. A piece that tiles against its siblings is Kit. Something skinned to a rig is Character.
Anything that lives under a Canvas: screens, panels, widgets, HUD elements, popups, list rows.
Test. Does it need a RectTransform to make sense?
System
A scene-persistent manager or service. Usually one per concern, usually a singleton, usually living in SC_Systems.
Test. Would having two of it in the scene be a bug?
Gameplay
Placeable logic with no art of its own: triggers, spawners, checkpoints, waypoints, interaction volumes, patrol nodes.
Test. Is it invisible at runtime and placed by a designer?
Audio
An emitter, an ambience zone, or a music trigger, wrapped so a designer can place it.
Test. Is the only thing it does make sound?
Settled edge cases
Thing
Category
Why
Vase, bowl, jug on a surface
Prop
The question that started the rewrite. Nothing skins it, no effect drives it, and it is not a piece of a set, so it falls to step 4. Bottom-center, and done.
Sword, axe, any weapon
Prop
Held or decorative, it is the same mesh with the same pivot. The hand attaches to a socket on the prefab, so the decision that used to cost a re-pivot now costs nothing.
Kitchen knife, rolling pin, frying pan
Prop
Same. SubCategory Utensil if it helps the folder; the category never depended on whether a character picks it up.
Broom, shovel, wrench
Prop
Same again. There is no longer a category that these could be arguing with.
Car, cart, drivable vehicle
Prop
It stands on the ground and it is not a piece of a set. If it is skinned to a rig and animated as a creature would be, the ladder catches it at step 1 and it is a Character instead.
Car as a piece of a wrecked-street kit
Kit
The exception that proves the test: if it ships as one of a set of street pieces that tile and snap together, it is Kit and it is named for the Set.
Wall, floor, ceiling, roof section of a set
Kit
The core case. Snaps to grid, connects to siblings, takes its pivot from mesh.pivots.byClass.
Door, window, shutter, hatch
Kit
Fills a grid.doorOpening and has a pivot class already. A door that opens is still a kit piece.
Cornice, string course, plinth, sill
Kit
A trim run, which the includes list already covered before anyone had a word for what it trims. Pivot class trim, and it is a separate asset from the panel it sits on because MSH013 will not let a projecting profile share a connecting face.
Corner pier, quoin, pilaster
Kit
Resolves where two runs meet, which is the one job no panel can do. Pivot class corner.
Window that does not open
Kit
Settled 2026-09-21, and it used to have no right answer: door gave it a hinge it has not got and prop gave it a bottom-center pivot that will not drop into an opening. Pivot class insert, on the OPENING's bottom-left.
Trapdoor, floor hatch, cellar door
Kit
A door in a FLOOR, and the case door gets wrong twice: it turns about a horizontal edge rather than a vertical one, and its top face finishes flush with the walking surface rather than standing on it. Pivot class hatch, and the opening it fills is grid.hatchOpening, which is square so it can be dropped in rotated.
Shutter, louvre, grille over a window
Kit
It closes over an opening rather than filling one, and it ships with the window it belongs to. insert if it sits in the reveal, prop if it is hung on the face and a level designer places it freely.
Roof slope, ridge, hip, valley, verge
Kit
The roof equivalent of wall, corner and trim, and all of one kit at one pitch. Pivot class roof for the slopes; a ridge or a verge is a run along an edge, so it is trim.
Gable wall
Kit
A WALL, not a roof piece, and the likeliest gap in a pitched-roof kit: its top edge has to be grid.roofPitch or the verge stands off it. Pivot class gable, which exists to say that and is the one class MSH017 deliberately cannot check.
Dormer
Kit
A little building standing out of a slope: cheeks, a front and a roof of its own. Ships as an assembly of Kit pieces, or as one piece where the kit only has the one.
Chimney
Kit
If the kit has stacks that tile up and cap, they are Kit pieces. A one-off chimney modelled whole for one landmark is a Prop, like any other one-off.
Balcony slab
Kit
A floor that projects. Pivot class balcony: the floor pivot, because its walking surface still has to land at storey level, and exempt from MSH015 because standing out of the facade is the whole point. How far out is grid.balconyDepth.
Balustrade, handrail run
Kit
Pivot class fence, which is what a balustrade is: a run that tiles along its length at bottom-left. There is deliberately no railing class, because it would be a second name for this one.
Corbel or bracket under a balcony
Kit
It projects from the wall and repeats along the run, which is trim in everything but name. Pivot class trim.
Stair flight, ladder, ramp
Kit
Traversal geometry measured against grid.stairRiser, grid.stairGoing and grid.stepHeight. Pivot class stair, which tiles along a DIAGONAL rather than an axis, so the seam check has no axis for it and says so.
Facade assembled from panels, trim and inserts
Kit
The PARTS are Kit assets. The assembly is a prefab with its own Descriptor and no mesh of its own (PRF001 exempts it by name), so there is no category question to answer twice.
Staircase, ladder, ramp
Kit
Traversal geometry measured against grid.stairRiser, grid.stairGoing and grid.stepHeight, tiling along a run.
Fence, railing, gate
Kit
Already a pivot class. Tiles along a run, so it is a kit piece even when the kit is only fences.
Pipes, cables, ducting runs
Kit
Authored as tiling runs against the grid, not as objects.
Built-in counter or cabinetry
Kit
Snaps to the wall segment, ships with the room kit. The freestanding version of the same thing is a Prop, and it is a second mesh.
One-off building, landmark, statue
Prop
Modelled whole, tiles against nothing, snaps to nothing. It used to be Environment and it is not a Kit, so it is a Prop, and being large it declares its own vertexDensity tier.
Tree, world-scale foliage
Prop
Nature at level scale is still a standalone object. SubCategory Nature, and declare the environment tier. MSH007's default would give a tree four times the density it should have.
Cliff face, boulder formation
Prop
Same. It is terrain-shaped, but nothing about it tiles or snaps. Declare the architecture tier for anything at that size.
Fist-sized rock
Prop
Also a Prop, and this is the point: the old ladder split these two and the new one does not need to.
Potted plant
Prop
Stands on a surface, ships on its own.
Street lamp, hydrant, bolted bench
Prop
Fixed street furniture used to be Environment on the strength of being bolted down. Bolted down is not a modular set, so it is a Prop, unless it genuinely ships as part of a street kit. Then it is Kit and named for the Set.
Loose indoor bench or stool
Prop
Was always a Prop and still is.
Water body in a level
Prop
Unless it is a set of tiling water pieces, which would be Kit. However it is shaded does not enter into it.
Splash, ripple, spray
Effect
Geometry a VFX graph drives. Step 2.
Painting, rug, curtain
Prop
Dressing attached to architecture is still dressing. It carries no structural load and no snap.
Hanging shop sign
Prop
Unless it ships as a piece of a building kit, in which case it is Kit and named for the Set.
Wall-mounted torch or sconce
Prop
It hangs on the wall; it is not a piece the wall is built from. The carried version is the same mesh and the same category now, which is one fewer asset than this row used to require.
Coin, key, collectible pickup
Prop
Nothing above claims it.
Worn backpack, hat, cloak
Character
Skinned to the rig it is worn on. Deforms, therefore Character.
First-person arms
Character
A rig with no body is still a rig.
Bread, cake, food on a shelf
Prop
Set dressing, and it stays one mesh even when a character is animated holding it.
Decal mesh (blood, grime, poster geo)
Effect
Geometry a projector drives. The texture on it is Cutout, not Surface.
Trim-sheet-textured kit piece
Kit
The texture category does not decide the model category. A TTrim sheet on an SMKit piece is the normal case.
Which texture category
Id
Rule
Severity
Value
CAT002
Texture is not in the category the texture ladder puts it in
info
Read top to bottom and stop at the first yes.
#
Ask
Then it is
1
Is it drawn in screen space, like UI, an icon, or a 2D element with no world surface behind it?
Sprite
2
Is it read by a particle system or a VFX graph rather than by a surface shader?
Effect
3
Does it carry no colour of its own? Is it a mask or a lookup a shader reads OVER another texture?
Mask
4
Is it one sheet a whole kit maps bands of, rather than a texture for one object?
Trim
5
Does alpha cut its silhouette? Would it read as a rectangle without it?
Cutout
6
Anything still here.
Surface
Two answers still standing: take the one HIGHER on the ladder, the same as for models.
The texture category does not follow the model category and never has. A TTrim sheet on an SMKit piece is the normal case, and a Prop can carry a Cutout.
A map's ROLE is not its category. Albedo, Normal, Roughness and the rest are the RoleSuffix. Every category ships the maps it needs, and T_Surface_Wallpaper_01_Normal is a Surface texture whose role is Normal.
Ask what reads it, not what it shows. The same painted leaf is Cutout on a foliage card, Effect as a flipbook frame in a leaf-fall effect, and Mask if a shader only ever samples one channel of it.
A texture with no colour of its own, read over another one: damage, edge wear, RGB tint masks, blend masks.
Test. Does a shader read a CHANNEL of it to modulate something else, rather than showing it?
Includes. Damage and wear masks · Edge masks · RGB tint masks (see texture.rgbMask) · Blend and vertex-blend masks · Opacity masks read separately from a surface
Not. A packed PBR texture is not a Mask. It is part of a surface and ships as TSurface_01_Packed. Mask is for a map read on its own, over a material it is not part of.
Authoring. requiredMaps none, sRGB false
Trim
One sheet a whole modular set shares, laid out in strips that pieces map bands of.
Test. Do several different meshes map different bands of this one sheet?
Authoring. texelDensity trim, sharedPerSet true
Cutout
A surface whose silhouette is cut by alpha. Without the alpha it reads as a rectangle.
Test. Is the shape of the thing in the alpha channel rather than in the mesh?
Includes. Leaf and foliage atlases · Grass and fern cards · Ivy and vine sheets · Chain-link, grating and lattice · Torn paper, netting, lace · Cobwebs
Not. A leaf sheet a particle system drives is Effect, because step 2 caught it first. A leaf texture a shader only samples one channel of is Mask.
Authoring. texelDensity as declared, requiredMaps Albedo, Roughness, Normal, alpha opacity only
Surface
An ordinary opaque surface. The default, and the one every other category is defined against.
Test. Anything the five questions above did not claim.
Includes. Tiling material surfaces: brick, plaster, grain, cobblestone · Baked object textures for a single mesh · Anything opaque, mapped to geometry, read by a surface shader
Authoring. texelDensity by tier, requiredMaps Albedo, Roughness, Normal
Settled texture edge cases
Thing
Category
Why
Leaf atlas, foliage card, grass card
Cutout
Alpha cuts the silhouette. Step 5 before step 6, so it is never Surface.
Falling-leaf flipbook for a particle system
Effect
Step 2 catches it before the alpha question is asked. What reads it decides.
Bark, tree trunk surface
Surface
Opaque. The silhouette is the mesh's.
Leaf colour-variation mask
Mask
No colour of its own; a shader samples a channel of it over the albedo.
Smoke, fire, spark sheet
Effect
Read by a VFX graph. TEX008 owns its grid.
Noise field, gradient ramp, distortion map
Effect
Same reason. The role suffix says which, the category says who reads it.
Kit-wide strip sheet
Trim
Several meshes map bands of one sheet. Named for the Set.
Baked texture for one prop
Surface
An ordinary surface that happens to be unique to one mesh. T_Surface_OldChair_01_Albedo.
Packed metallic/AO/detail/roughness map
Surface
Part of a surface, not a mask over one. Its role suffix is Packed.
Rust, grime, damage overlay
Mask
Read over a base material. T_Mask_Rust_01 over a steel material, never T_Surface_Rust_01 standing alone.
UI button, icon, frame, crosshair
Sprite
Screen space. Lives in Exported/Images/UI, not in the texture roots.
Decal texture (blood, poster, grime patch)
Cutout
A projector needs the alpha to know where the decal stops. The MESH it projects onto is the Effect category; the texture is not.
Chain-link fence, grating, lattice
Cutout
The holes are in the alpha, not in the geometry.
Skybox, cubemap
Surface
Nothing above claims it, and step 6 is the catch-all. It declares its own resolution; the density formula does not apply and nothing pretends it does.
Which class a kit piece is
Id
Rule
Severity
Value
MSH018
Piece is named for a thing the class ladder puts in a different class
info
What does it have to line up with, and what happens at its two ends? Every class below is an answer to that one question and to nothing else. The names read like a taxonomy of building parts and are not one. corner and a roof's hip are the same class because they do the same job, and floor and balcony are different classes although they are the same shape.
The class ladder
Read top to bottom and stop at the first yes. The last column is the near miss each step must not swallow.
#
Ask
Then it is
But not
1
Does it move, turning about a HORIZONTAL edge, like a trapdoor, a cellar flap or a deck hatch?
hatch
a lid you pick up and carry, which is a prop.
2
Does it move, turning about a VERTICAL edge, like a door, a gate or a shutter that swings?
door
a fixed panel across an opening, which never moves and belongs to the step below.
3
Does it fill an opening some other piece cut, and stay put, like a fixed window, a grille, a louvre or a roof light?
insert
a window hung on the face of a wall rather than set into it, which lines up with nothing and is a prop.
4
Is it a band that runs along a seam or an edge and stands PROUD of the surface behind it, like a plinth, a string course, a cornice, a sill, a ridge, a verge or a gutter?
trim
a pilaster, which stands proud but runs UP a bay rather than along a seam. That is still the wall face, and it is a wall.
5
Does it resolve a junction, the point where two runs meet or where two slopes do?
corner
a quoin course painted on a flat panel, which is a texture and not a piece.
6
Is it a SLOPED plane carrying the roof covering?
roof
the capping along the top of it, which runs along a seam and is trim.
7
Is it the wall that CLOSES the end of a pitched roof, rising to a point under the slopes?
gable
a parapet, which continues up past the roof line and hides it rather than closing it.
8
Do you climb it? Does it rise as it runs?
stair
a landing, which is level and is a floor.
9
Is it walked on, and does it PROJECT past the wall below it?
balcony
a loggia, which is cut INTO the building behind the wall face. Nothing projects, so it is a floor.
10
Is it walked on and level?
floor
the underside of the storey above, which is the next step.
11
Is it overhead and level, a surface seen from below and from nowhere else?
ceiling
a soffit under an eave, which runs along an edge and is trim.
12
Is it a free-standing run with nothing above it, like a fence, a railing, a balustrade, a parapet or a yard wall?
fence
a balustrade modelled in one piece with the slab under it. Split them: the slab is a balcony and the guard is a fence.
13
Anything still here that stands on the grid and carries a storey.
wall
anything above, which is why this step is last.
Every class, and the words that mean it
The words are what a Part or a Variant is checked against. Each one belongs to exactly one class; a word that honestly belongs to two is an edge case below.
Class
Is
Pivot
Words
wall
The flat field of the facade: what fills a cell of the grid and carries the storey above.
bottom-left
Wall, Panel, Pier, Pilaster, Arch, Jamb, Reveal, Lintel, Keystone, Bay
gable
The triangular wall that closes the end of a pitched roof.
bottom-left
Gable
floor
A level surface you walk on, inside the footprint.
top-left
Floor, Deck, Landing, Loggia
ceiling
A level surface overhead: the underside of the storey above.
bottom-left
Ceiling
fence
A free-standing run that tiles along itself and carries nothing.
The piece that resolves a junction. One per junction, and it never tiles.
bottom-left
Corner, Quoin, Hip, Valley, Newel
roof
A sloped plane carrying the covering.
bottom-left
Roof, Slope
stair
A run you climb, rising as it goes.
bottom-left
Stair, Step, Tread, Riser
balcony
A platform projecting past the wall below it.
top-left
Balcony, Cantilever
prop
Not a kit piece at all. Nothing snaps to it and nothing tiles against it.
bottom-center
Settled class edge cases
Thing
Class
Why
Shutter
insert, or prop
Set into the reveal and closing over the opening it is an insert, like everything else that fills one. Hung on the face of the wall and placed by eye, it lines up with nothing and is a prop. The two are modelled differently, so decide before you build rather than after.
Dormer
an assembly, not one class
A little building standing out of a slope: two cheeks, a front, a roof of its own and usually a window. Each of those is a piece in its own class. It ships as a prefab of Kit pieces, not as one mesh wearing one class.
Chimney
an assembly, or a prop
A stack that crosses the roof plane is an assembly. The shaft is a wall run and the cap is trim. A short decorative one that sits on a slope and connects to nothing is a prop.
Column
wall, or prop
Standing in a run and carrying the storey above it is a wall: it fills a cell of the grid the way a pier does. Freestanding in a courtyard with nothing bearing on it, it is a prop.
Storey, Bay
neither, they are units
A bay is one vertical division of a facade and a storey is one horizontal division. They are how a facade is COUNTED, not things you model. A piece named Bay_01 is the wall panel that fills one.
A balustrade with its slab
two pieces
Modelled together they cannot be mixed, and the balcony you have is the only balcony you will ever have. The slab is a balcony and the guard is a fence, and every kit that gets this right gets three balconies out of two meshes.
Threshold
trim
It runs along a seam (the one at the bottom of a doorway) and stands proud of the floor either side. Being walked over does not make it a floor, any more than a plinth being touched makes it a wall.
Size words, worked out
A bare word is about the axis the piece tiles on. Compound it with Length, Width, Height, Turn to claim another.
Word
Fraction
On a 4 m segment
Full
1/1
4.00 m
Double
2/1
8.00 m
ThreeQuarter
3/4
3.00 m
Half
1/2
2.00 m
Quarter
1/4
1.00 m
Turn words, worked out
A different list, because the legal fractions depend on what they are a fraction of. Every one is a unit fraction: N pieces of a 1/N turn close a circle for any N, and nothing else closes at all.
Word
Fraction
Degrees
Pieces to close a circle
FullTurn
1/1
360
1
HalfTurn
1/2
180
2
ThirdTurn
1/3
120
3
QuarterTurn
1/4
90
4
SixthTurn
1/6
60
6
EighthTurn
1/8
45
8
TwelfthTurn
1/12
30
12
SixteenthTurn
1/16
22.5
16
Categories we have removed
These fail NAM003 like any unknown word. They are listed so the report can name the replacement instead of leaving you to pick one.
Was
Use
Removed
Why
Tool
Prop
2026-09-12
Tool only ever meant 'authored around the grip'. The grip is a socket set up on the prefab in Unity, so the category carried no consequence a mesh could be checked against. It also forced a decision (is this sword decoration, or is it held?) at the moment it was least knowable. A held item is a Prop, with Weapon, Utensil or whatever else as its SubCategory.
Environment
Kit or Prop
2026-09-12
Environment was doing two jobs: modular kit pieces, which snap to the grid and take a pivot from their class, and world-scale one-offs, which do neither. Kit took the first job, because 'is this a piece of a modular set?' has one answer. Everything else (trees, cliffs, one-off buildings, street furniture) is a Prop, and declares a lower vertexDensity tier if it is large. See mesh.vertexDensity.$worldScaleNote.
SURF
Surface
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
CUTOUT
Cutout
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
TRIM
Trim
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
MASK
Mask
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
SPRITE
Sprite
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
FX
Effect
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
MUS
Music
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
AMB
Ambience
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
VO
VoiceOver
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
ACH
Achievement
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
ACTION
Action
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
AUDIO
Audio
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
BRAIN
Brain
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
CHAR
Character
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
COND
Condition
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
CRAFT
Craft
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
GOAL
Goal
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
ITEM
Item
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
NARR
Narrative
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
PROG
Progression
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
QUEST
Quest
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
TAX
Taxonomy
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
THOUGHT
Thought
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
WORLD
World
2026-10-13
One spelling for every category list: capitalised words, like the model categories. The ALL-CAPS codes were mixed up with them (SM_PROP_Chair_01).
The words we use
Id
Rule
Severity
Value
LEX001
Descriptor does not use the studio word for the thing it names
info
LEX002
Name uses a word the vocabulary replaces
warning
Vocabulary conventions
One word per thing. Where two words mean the same thing, this file picks one; the other is in replaces and reports.
Name the surface, not the material, on a texture. Grain says what you are looking at; Wood says what it is made of, and everything from a plank to a stump is made of wood.
Name the thing, not the shot. Grain and not GrainCloseUp, Brick and not BrickWallTexture. The type prefix already says it is a texture and the folder already says where it lives.
Singular unless the mesh really is several. Brick for a brick texture; Beams is fair on a ceiling piece that carries four of them.
British English, matching the rest of this repo: Render not Stucco, Timber not Lumber. Both of those are entries in replaces, because a convention nothing checks is only a preference, and this list only claims the ones that are backed.
A word not in this file is not wrong. It is only wrong once someone else has named the same thing differently. That is the moment to add both here and pick one.
Wood
The example that started this file. A tree has an outside and an inside, they look nothing alike, and Wood is the word that refuses to say which one you meant.
Word
Means
Not
Bark
The outside of a tree, living or felled. Rough, fibrous, wrapping around trunks, branches, logs, and the raw edge of a live-edge slab.
Not the inside. A log shows Bark on its sides and EndGrain where it was cut.
Grain
The inside of the tree, exposed by a cut. Every sawn face: planks, floorboards, crate sides, beams, a table top.
Not a species or a stain. Oak and pine are both Grain; which one is the material's business.
EndGrain
The face cut ACROSS the rings: the end of a plank, the top of a stump, a chopping block. Reads as rings or open pores, never as long lines.
Not the same map as Grain rotated. It absorbs differently, it wears differently, and it is a separate texture.
Plank
One long sawn board used as a surface piece: cladding, flooring, boardwalks, crate sides.
Beam
Structural timber, roughly square in section, spanning something and carrying load.
Timber
Sawn wood in general, where the piece is not specifically a Plank or a Beam.
Log
A whole trunk section with the bark still on it.
Stump
The cut base left in the ground: Bark round the sides, EndGrain on top.
Branch
A limb off a trunk. See also Twig.
Twig
Anything thin enough to snap by hand.
Plywood
A laminated sheet. Striped edge, uniform face, no rings.
Charred
Burnt wood: cracked into a black alligator-skin surface.
Ground, paving and stone
Three laid surfaces that get used for each other, and then the three sizes of rock, the other word that covers too much to be useful.
Word
Means
Not
Tile
Regular manufactured units in a repeating grid, thin even joints, flat faces and sharp edges. Floors and walls, mostly indoors.
Cobblestone
Stone units set into a street or a yard, rounded and water-worn or cut into blocks. Either way the joints are wide and the surface is not flat.
Not a Tile. The units vary, the joints are visible, and nothing about it is machined.
Flagstone
Large flat slabs with an irregular outline and thin joints, laid as a paved surface.
Gravel
Loose stones small enough to shift underfoot. Not bonded to anything.
Rubble
Broken pieces of masonry and stone. Debris on a surface, not a surface.
Dirt
Bare compacted earth. See also Mud.
Mud
Dirt wet enough to hold a footprint.
Paving
The group word for a laid ground surface. Fine in a folder name; on an asset, use the specific one.
Pavement
The raised footpath beside a road. British sense only. The American 'road surface' meaning is not used here.
Stone
The material, cut or natural, as a surface.
Not a wall built of it, which is Stonework.
Boulder
A single rock big enough to be its own object, sitting on the ground. Always a Prop; a large one declares the environment vertex-density tier. See the category guide.
Cliff
A rock face at landscape scale, part of the terrain rather than sitting on it.
Walls
Units, the stuff between them, and the coat over the top. The last one is where Render and Stucco get used for each other.
Word
Means
Not
Brick
Fired clay units, regular size, laid in courses with mortar joints.
Block
Larger regular units, concrete or breeze. Coarser face, fewer joints.
Concrete
Poured or precast, with no units and no joints except the ones cast in. Board-marked where the formwork left its grain.
Not a Block, which is concrete made into units and laid like brick.
Stonework
A wall built of stone, cut or uncut, with the joints visible.
Mortar
The joint material between units. A texture and a mask, never a mesh.
Render
The smooth coat over masonry, painted or bare. Hides the units underneath.
Not the verb. A rendered image is a render too, which is why this word only ever appears in an asset name meaning the wall coat.
Plaster
The interior coat. Smoother and thinner than Render.
Cladding
An outer skin hung over structure: timber, metal or tile.
Wall parts
Walls above says what a wall is MADE OF. This says what a wall is made UP OF, which is a different question and had no words at all until pieces started being split. Roofs has had Ridge, Eave, Gutter and Flashing since the file was written, so a roof could already name its parts and a wall could not. Expect the collisions to be Cornice/StringCourse/Plinth, which are one shape at three heights, and Pier/Pilaster/Column, which are three shapes doing one job.
Word
Means
Not
Panel
The flat field of wall between the openings and the trim. The piece that fills a cell of the grid and carries no projection.
Not the whole wall. Once a wall is split, Panel is one part of it and not a synonym for it.
Bay
One vertical division of a facade: the strip from the ground to the roof containing one column of openings. The unit a facade is counted in. A five-bay frontage has five of them.
Not a bay window, which projects outward and is a shape. This word is a division, and it is the one meant unless the name says Window.
Storey
One horizontal division: one floor level of a building, measured to the next floor above.
Not spelled Story. British English like the rest of this file, and here it also keeps the word clear of narrative content, which has a Story of its own.
Pier
A vertical mass of wall carrying load, full depth, usually between two openings. Structural.
Not a Pilaster. A pier is as deep as the wall; a pilaster is stuck on the front of it.
Pilaster
A flat vertical strip standing slightly proud of the wall face, reading as a column without being one. Decorative.
Not a Pier. Nothing rests on a pilaster.
Column
A freestanding round vertical support, with something actually bearing on it.
Not either of the two above. Round and standing on its own, or it is a Pier or a Pilaster.
Cornice
The projecting horizontal band that CROWNS a wall, at the very top, where the roof meets it.
Not any projecting band. Height is what separates the three: Cornice at the top, StringCourse in the middle, Plinth at the bottom.
StringCourse
A horizontal band running across the middle of a facade, usually marking a floor level inside. The one that covers the seam between two storeys.
Not a Cornice. It is the same profile at a different height doing a different job, and calling both Cornice loses which one a piece is.
Plinth
The band at the BASE of a wall where it meets the ground, usually heavier and often a different material.
Sill
The projecting ledge under a window, shedding water away from the wall below.
Lintel
The flat structural member spanning the TOP of an opening.
Not an Arch, which spans the same gap curved. Which one it is changes the piece, so the word has to say.
Arch
A curved span over an opening, built of wedge units or cut as one.
Keystone
The wedge at the crown of an arch, usually larger and often carved.
Jamb
The vertical SIDE of an opening.
Reveal
The returned depth of an opening: the surface between the wall face and the window or door set back in it. What makes a wall read as thick rather than as a plane with a hole.
Parapet
Wall continuing UP past the roof line, hiding the roof from the street.
Quoin
The dressed stones at a building's corner, alternating long and short.
Roofs
Its own group rather than a corner of Walls, because the three coverings are the ones that all become 'roof tiles' in conversation and the difference is in the unit, not the material.
Word
Means
Not
Shingle
Overlapping WOOD units, split or sawn. Rectangular, widths vary, the bottom edge weathers ragged.
Slate
Thin split STONE units. Flat, dark, rectangular, and the most uniform of the three.
Not a slate-coloured tile. The word names what it is made of, and it is the one covering where that is true.
RoofTile
Moulded clay or concrete units, curved or ridged, so the covering reads as waves rather than as a flat plane.
Not a Tile. A floor Tile and a RoofTile share a word and nothing else, so the roof one carries the qualifier.
Thatch
Bundled straw or reed, laid thick. No units at all, just a continuous mass with a deep rounded edge.
Roof parts
Ridge, Eave, Flashing and Gutter were in Roofs from the day that group was written, which made Roofs two lists wearing one name: four coverings and four parts. They are here now, with the words a pitched roof needs that nothing had. Same split as Walls and Wall parts, for the same reason. Expect the collisions to be Ridge/Hip/Valley, which are three lines where two slopes meet and differ only in which way the water goes, and Eave/Verge, which are the two edges of the same roof.
Word
Means
Not
Pitch
The angle of a slope, in degrees from horizontal. The number every piece of one roof shares.
Not a covering or a shape. A 40-degree roof can be Slate or Thatch and is the same pitch either way.
Ridge
The horizontal line along the top where two slopes meet, and the capping units that sit on it.
Hip
An external corner where two slopes meet and run DOWN together, sloping from ridge to eave.
Not a Ridge, which is level, or a Valley, which is the same line turned inside out.
Valley
The internal angle where two slopes meet and water runs down BETWEEN them.
Not a Hip. Same geometry, opposite sign, and the wrong one leaks in the fiction and reads wrong on screen.
Eave
The overhanging lower edge of a roof, level, where its thickness is visible from the ground.
Verge
The sloping edge at a GABLE end, where the roof finishes over the wall.
Not an Eave. An eave is the level bottom edge and a verge is the raking side one; a roof has both and they need different pieces.
Fascia
The board closing the eave, which the gutter hangs from.
Soffit
The underside of an overhang, seen from below and from nowhere else.
Gutter
The channel along the eave that carries water off.
Flashing
The metal strip sealing a junction, roof to wall or roof to chimney.
Dormer
A window standing out of a roof slope, with cheeks and a little roof of its own.
RoofLight
A window lying IN the plane of the slope, with nothing standing out.
Not a Dormer, which projects. The two look nothing alike from the street and cost very different amounts of geometry.
Chimney
The stack, from where it leaves the roof to its cap.
Gable
The wall that closes the end of a pitched roof, rising to a point under the slopes.
Not part of the roof. It is a WALL, it is built with the wall, and its top edge has to be the roof own pitch or the verge stands off it.
Openings
Wall parts names the hole: Jamb, Lintel, Sill, Reveal. This names what fills it, and how the filling is divided. The pairs that actually get swapped are Casement/Sash, which open completely differently, and Mullion/Transom, which are the same bar in two directions.
Word
Means
Not
DoorLeaf
One moving panel of a door, gate or shutter. A double door is two leaves and usually two meshes.
Not a Leaf, which grows on a plant and is in Nature. Same word, nothing else in common, so this one carries the qualifier, exactly as RoofTile does against Tile.
Casement
A window hinged at the side, opening like a small door.
Sash
A window that SLIDES, usually one pane past another vertically.
Not a Casement. Neither one opens the way the other does, and a kit that mixes them without meaning to looks like two buildings.
Mullion
The VERTICAL bar dividing one opening into lights.
Transom
The HORIZONTAL bar doing the same job.
Not a Mullion. One word each, because a window named for the wrong one cannot be found by anybody looking for the other.
Shutter
A hinged panel over the OUTSIDE of a window, closing over it rather than filling it.
Trapdoor
A door in a FLOOR: horizontal, hinged on one edge, walked over when it is shut.
Hatch
The group word for a small covered opening anywhere: floor, wall, roof or vehicle.
Not always a Trapdoor. Every trapdoor is a hatch; a serving hatch in a wall is not a trapdoor.
Threshold
The piece across the bottom of a doorway that you step over.
Louvre
A run of angled slats you can see through at one angle and not another. A vent, a shutter or a whole window.
Balconies and railings
A balcony is an assembly rather than a piece, and almost every word in it names a part somebody would otherwise call a railing. Balustrade/Baluster/Handrail are three parts of one thing, and Corbel/Bracket are the two ways of holding it up.
Word
Means
Not
Balcony
A platform PROJECTING from a wall, guarded, reached from inside the building.
Loggia
A covered gallery cut INTO the building behind the wall face.
Not a Balcony. One sticks out and one is carved in, and they are built from completely different pieces.
Balustrade
The whole guarding assembly along an edge: the balusters and the handrail on top of them.
Baluster
One of the short posts in a balustrade.
Handrail
The rail along the top, at hand height.
Not the Balustrade. The handrail is the part you touch; the balustrade is everything holding it up.
Newel
The heavier post at the end of a run, or where a stair turns.
Railing
The group word for a guard along an edge, where the parts are not worth naming. Fine on a folder; on a piece, use the specific one.
Corbel
A block projecting from a wall to carry something above it. Stepped or moulded, and structural in the fiction.
Bracket
A shaped support under a projection, usually lighter and more decorative than a Corbel.
Cantilever
A slab carried at one end only, with nothing under its far edge. Describes how it is held up, not what it is.
Metal
Name the metal where it reads as one, and keep the corrosion separate from the thing corroding.
Word
Means
Not
Steel
Grey structural metal. The default where nothing says otherwise.
Iron
Cast or wrought. Darker, heavier, usually older than Steel in the fiction.
Copper
The metal. Weathered green is Patina over it, not a separate metal.
Brass
Yellow alloy for fittings, handles, instruments.
Rust
The corrosion, as a map or a mask over a base metal.
Not a metal. T_Mask_Rust_01 over a Steel material, not T_Surface_Rust_01 standing alone.
Patina
The green or brown weathering on copper and bronze. Same relationship to the metal as Rust.
Plate
Thick flat metal, often riveted or bolted.
Sheet
Thin metal, often corrugated or folded.
Grate
A grid you WALK ON, like floor grating or a drain cover.
Grille
A grid you LOOK THROUGH, like a vent, a radiator front or a speaker cover.
Mesh
Woven or welded wire.
Not a 3D mesh. Unambiguous in an asset name, because the type prefix already said SM_.
Fabric
Weave first, garment second. A texture is almost always the weave.
Word
Means
Not
Cloth
The generic woven surface, where the weave is what reads and the material does not matter.
Canvas
Heavy plain weave for sacks, awnings, tarpaulins.
Linen
Fine irregular weave with visible slubs.
Velvet
Pile fabric, the one that changes value with the viewing angle.
Rug
A loose floor covering with edges you can see.
Carpet
Fitted floor covering, wall to wall, no visible edge.
Curtain
Hangs over a window.
Drape
Heavier cloth hung over anything else: furniture, a doorway, a body.
Nature
The growing things, and the two words that get used for the mass and for one of it.
Word
Means
Not
Foliage
The mass of leaves on a plant, as a card or an atlas.
Leaf
One leaf, as a mesh or as a cutout on its own.
Grass
The ground cover, whether card, mesh or terrain layer.
Moss
Soft green growth ON another surface. A mask or an overlay, rarely a surface of its own.
Lichen
Flat crusty growth on stone and bark. Same relationship as Moss.
Ivy
Climbing growth with its own stems, placed as geometry over a wall.
Root
Below-ground growth, or the visible flare where a trunk meets the ground.
Vine
A hanging or trailing stem with no wall behind it.
Hair
Hair is authored as cards (flat strips carrying a clump of hair in their alpha), except where it is painted into the skin instead. These are the words for the parts of that, and they are the descriptors a hair asset name is built from. The scalp end of a card is spoken of as its root, but Root is already taken above for the part of a plant, and a word cannot mean two things in one vocabulary. In a name, use Scalp.
Word
Means
Not
Card
One flat strip of geometry carrying a clump of hair in its alpha. The unit hair is built from and the unit every budget counts.
Clump
The painted group of hairs a single card shows. A clump is what is in the texture; a Card is the geometry showing it.
Strand
One hair. What a groom is made of before it becomes cards, and what Sisir styles.
Groom
The strand-level source a hairstyle is built as, before any cards exist. The thing that is kept and re-baked from. See also Card, Strand.
Scalp
The surface hair grows from, and the end of a card that sits against it.
Not the head mesh itself. A scalp is the region hair is planted on.
Tip
The free end of a card or a strand. The end that moves most.
Fringe
Hair falling forward over the forehead.
Ponytail
Hair gathered and bound at one point, hanging free below it.
Braid
Hair plaited into a rope. Stiff along its whole length, which is why it is the usual reason a card is pinned.
Bun
Hair gathered and coiled against the head.
Beard
Facial hair on the jaw and chin, as cards.
Brows
Eyebrows, as cards or painted.
Lashes
Eyelashes, always as cards.
Stubble
Very short facial or body hair, painted into the skin texture and never carded.
Words we have replaced
Reported as LEX002. A name is checked only once it PARSES: an unreadable name was already reported by its NAM rule, and a second row for the same file is how a report gets skimmed. Every token except Type and Category is checked. Those two are closed lists NAM003 already owns; everything else is a word an author chose. Each token value is split on PascalCase boundaries and each word looked up whole, so WoodPlanks hits Wood and Woodland hits nothing.
Instead of
Say
Because
On
Wood
Bark, Grain, Plank
on a surface, Wood does not say which surface, and the outside of a tree and a sawn face share nothing
T_, M_, SMM_
Cobble
Cobblestone
a shortening. One word for it, so a search for either finds all of it
every type
Cobbles
Cobblestone
same word, pluralised
every type
Tiles
Tile
a tile texture is one tile that repeats
T_, M_, SMM_
Bricks
Brick
same
T_, M_, SMM_
Cobblestones
Cobblestone
same. Cobble and Cobbles were already here and this one is the sibling that slipped past them
T_, M_, SMM_
Flagstones
Flagstone
same
T_, M_, SMM_
Slates
Slate
same
T_, M_, SMM_
Shingles
Shingle
same
T_, M_, SMM_
Rock
Stone, Boulder, Cliff
Rock covers a pebble, a prop and a landscape, and those are three different assets in three different categories
every type
Lumber
Timber
British English, like the rest of this repo
every type
Stucco
Render
same reason
every type
Cement
Concrete, Mortar, Render
cement is the powder in the bag. Nothing in a level is made of it
every type
Burnt
Charred
one word for it, and Burned exists too
every type
Burned
Charred
same
every type
Grill
Grille, Grate
a grill cooks. Grille is the one you look through, Grate is the one you stand on
every type
Moulding
Cornice, StringCourse, Plinth, Sill
Moulding is the profile, not the piece. Every one of the four is a moulding, so the word names none of them, and which one it is decides where on the wall it goes
every type
Molding
Cornice, StringCourse, Plinth, Sill
same, and the American spelling as well
every type
Windowsill
Sill
the only sills we have are window sills, and the name has already said Window if it needed to
every type
Banister
Balustrade, Handrail
it names the whole assembly to some people and the rail on top to others, which is the one thing a word must not do here
every type
Bannister
Balustrade, Handrail
same, and the doubled n as well
every type
Chimneystack
Chimney
a shortening of nothing. The stack IS the chimney above the roof, and one word finds both
every type
Story
Storey
British English. Narrative content keeps Story, which is why this is scoped to meshes
SM_, P_, SMM_
Every word, alphabetically
151 words. Anything not here is not wrong. It is only wrong once someone else has named the same thing differently.
Word
Where
Arch
in Wall parts
Balcony
in Balconies and railings
Baluster
in Balconies and railings
Balustrade
in Balconies and railings
Banister
replaced, say Balustrade, Handrail
Bannister
replaced, say Balustrade, Handrail
Bark
in Wood
Bay
in Wall parts
Beam
in Wood
Beard
in Hair
Block
in Walls
Boulder
in Ground, paving and stone
Bracket
in Balconies and railings
Braid
in Hair
Branch
in Wood
Brass
in Metal
Brick
in Walls
Bricks
replaced, say Brick
Brows
in Hair
Bun
in Hair
Burned
replaced, say Charred
Burnt
replaced, say Charred
Cantilever
in Balconies and railings
Canvas
in Fabric
Card
in Hair
Carpet
in Fabric
Casement
in Openings
Cement
replaced, say Concrete, Mortar, Render
Charred
in Wood
Chimney
in Roof parts
Chimneystack
replaced, say Chimney
Cladding
in Walls
Cliff
in Ground, paving and stone
Cloth
in Fabric
Clump
in Hair
Cobble
replaced, say Cobblestone
Cobbles
replaced, say Cobblestone
Cobblestone
in Ground, paving and stone
Cobblestones
replaced, say Cobblestone
Column
in Wall parts
Concrete
in Walls
Copper
in Metal
Corbel
in Balconies and railings
Cornice
in Wall parts
Curtain
in Fabric
Dirt
in Ground, paving and stone
DoorLeaf
in Openings
Dormer
in Roof parts
Drape
in Fabric
Eave
in Roof parts
EndGrain
in Wood
Fascia
in Roof parts
Flagstone
in Ground, paving and stone
Flagstones
replaced, say Flagstone
Flashing
in Roof parts
Foliage
in Nature
Fringe
in Hair
Gable
in Roof parts
Grain
in Wood
Grass
in Nature
Grate
in Metal
Gravel
in Ground, paving and stone
Grill
replaced, say Grille, Grate
Grille
in Metal
Groom
in Hair
Gutter
in Roof parts
Handrail
in Balconies and railings
Hatch
in Openings
Hip
in Roof parts
Iron
in Metal
Ivy
in Nature
Jamb
in Wall parts
Keystone
in Wall parts
Lashes
in Hair
Leaf
in Nature
Lichen
in Nature
Linen
in Fabric
Lintel
in Wall parts
Log
in Wood
Loggia
in Balconies and railings
Louvre
in Openings
Lumber
replaced, say Timber
Mesh
in Metal
Molding
replaced, say Cornice, StringCourse, Plinth, Sill
Mortar
in Walls
Moss
in Nature
Moulding
replaced, say Cornice, StringCourse, Plinth, Sill
Mud
in Ground, paving and stone
Mullion
in Openings
Newel
in Balconies and railings
Panel
in Wall parts
Parapet
in Wall parts
Patina
in Metal
Pavement
in Ground, paving and stone
Paving
in Ground, paving and stone
Pier
in Wall parts
Pilaster
in Wall parts
Pitch
in Roof parts
Plank
in Wood
Plaster
in Walls
Plate
in Metal
Plinth
in Wall parts
Plywood
in Wood
Ponytail
in Hair
Quoin
in Wall parts
Railing
in Balconies and railings
Render
in Walls
Reveal
in Wall parts
Ridge
in Roof parts
Rock
replaced, say Stone, Boulder, Cliff
RoofLight
in Roof parts
RoofTile
in Roofs
Root
in Nature
Rubble
in Ground, paving and stone
Rug
in Fabric
Rust
in Metal
Sash
in Openings
Scalp
in Hair
Sheet
in Metal
Shingle
in Roofs
Shingles
replaced, say Shingle
Shutter
in Openings
Sill
in Wall parts
Slate
in Roofs
Slates
replaced, say Slate
Soffit
in Roof parts
Steel
in Metal
Stone
in Ground, paving and stone
Stonework
in Walls
Storey
in Wall parts
Story
replaced, say Storey
Strand
in Hair
StringCourse
in Wall parts
Stubble
in Hair
Stucco
replaced, say Render
Stump
in Wood
Thatch
in Roofs
Threshold
in Openings
Tile
in Ground, paving and stone
Tiles
replaced, say Tile
Timber
in Wood
Tip
in Hair
Transom
in Openings
Trapdoor
in Openings
Twig
in Wood
Valley
in Roof parts
Velvet
in Fabric
Verge
in Roof parts
Vine
in Nature
Windowsill
replaced, say Sill
Wood
replaced, say Bark, Grain, Plank
Meshes
Id
Rule
Severity
Value
MSH001
Collection must have exactly one root object
error
true
MSH002
Object scale must be applied
error
true
MSH003
Every mesh must have a material
error
true
MSH004
Material slots must not be empty
warning
true
MSH005
Every mesh must have a UV map
error
true
MSH006
UV map must actually be unwrapped, not collapsed
error
true
MSH007
Mesh exceeds its vertices-per-square-metre budget
error
MSH008
Mesh exceeds its triangle budget
warning
MSH009
Pivot is not in the position required for this asset class
warning
MSH010
UV channel is used for something other than its assigned purpose
warning
MSH011
Shape key does not follow Category_Region_Action
info
MSH012
Symmetric bone does not use the .L / .R suffix
warning
MSH013
Face that connects to another modular piece is not flat
warning
true
MSH014
Model import scale is not the value the export settings expect
warning
1
MSH015
Piece does not fit the grid cell it occupies
warning
true
MSH016
Trim projects further from the wall plane than the grid allows
warning
true
MSH017
Roof piece is not built at the kit pitch
warning
true
MSH019
Size word in the name does not match the piece it is on
warning
true
MSH020
Curved piece disagrees with its family about the radius, or with the turn its name claims
warning
true
MSH021
Name says something about size that no check can read
warning
true
MSH022
Hair card vertex data does not follow the channel contract
warning
true
MSH023
Wall thickness is not behind the face the piece is placed by
warning
true
MSH024
Kit piece belongs to a different kit than the file it is in
twice: Two descriptors read as a size. The parser takes the LAST one and the other is silently part of the variant, so the name says one thing to a person and another to every tool.; notLast: The size word is not the last descriptor. It still parses (the last descriptor that reads as a size wins), but the coverage matrix splits a variant from its size by taking the word off the END, so Wall_Half_Interior lists a variant called HalfInterior with no size at all, beside a Wall_Interior_Half that lists Interior at Half.; axisAlone: An axis word with no fraction in front of it. Turn is not a size; QuarterTurn is. The same goes for Length, Width and Height.; unknownAxis: A fraction compounded with a word no axis list names, like HalfDepth. It reads as a size to a person and as an ordinary variant to the parser, which is the worst of both. Only reported when the tail starts with a capital, because the grammar is PascalCase and Halfpipe is one word rather than two.; miscased: A size word spelled with a capital missing: Quarterturn, Threequarter. It passes the PascalCase format and matches no word in the vocabulary, so nothing reads it as a size at all.
kitFileSet
Key
Value
appliesToCategories
Kit
curves
Key
Value
appliesToCategories
Kit
measureFrom
vertices
wholeTurn
360
turnTolerance
1
radiusTolerance
0.05
minimumTurn
1
roofPitch
Key
Value
appliesToClasses
roof
measureFrom
boundingBox
toleranceFrom
grid.roofPitchTolerance
Textures
Id
Rule
Severity
Value
TEX001
Texel density is outside the tolerance for its tier
warning
TEX002
Texture exceeds the maximum resolution
warning
4096
TEX003
Texture dimensions must be powers of two
warning
true
TEX004
Import settings do not match the ones required for this map type
warning
TEX005
Material is missing one of the standard maps
info
Albedo, Roughness, Normal
TEX006
Overlay texture has no fully transparent margin on its right edge
warning
0.05
TEX007
Trim sheet does not follow the trim sheet layout
warning
TEX008
Effect texture does not follow the flipbook or effect-map conventions
Prefab wrapping a single model does not carry that model's name
warning
true
PRF002
Prefab root object is not named the same as the prefab asset
warning
true
PRF003
Prefab variant does not carry its base prefab's name
warning
PRF004
Prefab category does not match what the prefab contains
warning
shape
Key
Value
P_Prop_Kitchen_Mixer_01
the prefab of SMProp_Kitchen_Mixer_01. Same name, P for SM_
P_Kit_AbandonedTavern_01_Wall_Interior_01
a kit piece prefab, carrying the Set the mesh carries
P_Character_Baker_01
a rigged character with its animator and colliders
P_Prop_Kitchen_RollingPin_01
a held item, with whatever component makes it usable. The grip is a socket on this prefab; it is not a property of the mesh, which is why there is no longer a Tool category (see deprecatedCategories in rules/core.json).
P_UI_Shop_ItemRow_01
a widget under a Canvas
P_System_Dialogue_01
the singleton that becomes SYS_Dialogue in SC_Systems
shape: SC[Level][Layer]; example: SC_AbandonedTavern_Environment; note: One scene per discipline, loaded additively onto the Base layer. The Level word is the same in every layer of one level. That string is what groups them, so a typo in one splits a level in two.
persistent
shape: SCSystems; example: SC_Systems; note: Loaded once and never unloaded. Holds the SYS objects and nothing that belongs to a place.
frontend
shape: SC_[Screen]; example: SC_MainMenu; note: A screen rather than a place, so it has no layers. There is no environment to split from the gameplay. One scene, whole.; reserved: Boot, MainMenu, Loading, Credits, Settings; reservedNote: Reserved rather than closed: a game may have screens nobody else has. What the list buys is that the five every game DOES have are called the same thing in every game.
sandbox
shape: SC_Sandbox[Topic]; example: SC_SandboxLighting; note: Test and scratch scenes. One PascalCase word, not SC_Sandbox_Lighting, because that form is already a level called Sandbox with a Lighting layer, and it would sort and load like one. The Sandbox prefix is what keeps every throwaway scene together in the list and findable when it is time to delete them.