Splitting a Piece
A wall is rarely one thing. A shopfront has an arcade below and windows above, with a moulded band between them; the bays below are wide and the ones above are narrow, and none of it lines up. Build that as a single 4 m wall and you have made one building. Split it properly and you have made a town.
The rest of a building has its own pages: Roofs for pitch and the gable, Openings for what
fills a hole, Balconies for what projects out of one. All three are the four roles below applied to a different surface.
This page is about how to split, and it is not only about walls. A roof is slope panels, dormer inserts, ridge and gutter trim, and hip corners. A fence is panels, a gate, a cap rail and a corner post. A pipe run is straights, valves, flanges and elbows. The same four parts, every time.
Make a Kit Piece is the pipeline. This is the reference behind step 3 of it.
The four roles
Every part of a split element is one of four things. Decide which before you model it, because the role decides the pivot, and the pivot is the expensive thing to get wrong.
| Role | What it does | Pivot | Tiles |
|---|---|---|---|
| Panel | Fills a cell: the flat field between the openings and the trim | Bottom-left · class wall |
Placed, not tiled |
| Insert | Fills an opening cut into a panel | Bottom-left of the opening · class insert |
No |
| Trim | Runs along a seam or an edge, and projects out of the wall plane | Bottom-left at the wall plane · class trim |
Along its longest axis |
| Corner | Resolves where two runs meet | Bottom-left, like a wall · class corner |
No |
insert, trim and corner are new as of 2026-09-21 (see What changed). Two of the three exist because they cannot reuse wall: bottom-left means bottom-left of the bounding box, and their bounding box is not the thing that has to line up.
- An insert's surround overlaps the opening it fills, so its box is bigger than the hole. Pivot on the opening, and it drops into place; pivot on the box, and every window sits proud and low.
- Trim projects forward of the wall. Bottom-left of its box is a point floating in the air in
front of the building. Pivot at the wall plane instead, where the panel behind it actually is. - A corner takes the same
bottom-lefta wall does, because a corner continues a run. It snaps from where the run’s next wall would have started. It is a separate class for the checks and the starter size, not for a different pivot.
MSH009 checks it, within 0.001. The full table with the reasoning for the older classes is on Modular 3D Assets > Pivots. Set the class on each collection in the add-on’s Asset Rules panel. All three are in the dropdown.
MSH009 measures an origin against the piece’s own bounding box. For an insert the box is wider than the opening by however much surround you drew, and where the opening is belongs to the panel rather than to the window. So nothing in the file locates it.
The add-on says so rather than staying quiet: the Asset Class panel tells you the origin belongs on the opening's bottom-left, and that nothing in Blender can measure that. A green panel on an insert is not a pass on its pivot. Check it by dropping one into a real opening.
Every other class is measured normally, trim included.
A window that does not open had no right answer. door gave it a hinge it has not got, prop gave it a bottom-centre pivot that will not drop into an opening, and a cornice had no honest answer at all. If you find an older kit where the windows are pivoted like props, that is why.
Where the seam goes
Split horizontally first, by storey
The diagram above is this facade: three wide arcade bays below, five narrow window bays above. The two storeys line up on exactly one thing: the height they stack at.
The only thing two storeys of one building have to agree on is the height they stack at. They do not have to share bay widths, opening counts or anything else.
This is the single most useful thing on the page, because the instinct is to force a facade into one 2D grid of identical cells, and almost no real building is one. Wide arcade bays under narrow window bays is the ordinary case. Let each storey be its own independent horizontal run.
Then vertically, by bay
Within a storey, split on bayWidth: 1 m, the same number as grid.primary. Bays are multiples of it, so a 3 m arch bay and a 1 m window bay sit in the same run without anything being nudged.
Before this number existed, wallSegment said a wall is 4 m wide and indivisible, and a facade with two different bay widths could not be authored at all.
The seam itself
The objection to splitting horizontally is that the seam is a long straight line at eye level. Three different things independently say to solve it the same way:
| Geometry | MSH013 will not let a projecting moulding share a connecting face, so the moulding has to come off the panel anyway |
| Architecture | Period buildings already carry a string course at the floor line. You are not hiding a seam, you are building what is actually there |
| Texturing | A trim sheet tiles along U and stacks strips along V (TEX007). Vertical seams tile seamlessly for free. Horizontal seams do not tile at all. |
Vertical seams need nothing. Horizontal seams get a trim piece.
The trim is not decoration. It is the seam.
The footprint rule
A panel's grid footprint is its wall plane, not its bounding box. Trim, sills and mouldings
project outside the cell and are not counted.
Unstated, this costs one of two mistakes, and both of them look perfectly correct in Blender:
- Shrink the panel so its trim fits inside the cell → nothing snaps any more
- Bake the trim into the panel → nothing mixes any more
They are the same mistake seen from either end. MSH015 is what prevents both.
Trim is exempt from MSH015, because projecting is its whole job. MSH016 is what holds it to a limit instead:
grid.trimProjectionMax is 0.25 m, and grid.trimProjection (0.1 m) is the usual. That number decides whether a cornice collides with the piece beside it, or with the one on the return of a corner, and nobody guesses it the same way twice.
The add-on measures it. A trim piece pivots at the wall plane (its +Y face), so everything it has lies forward of that, and the projection is simply its depth. Set a collection's class to Trim and anything past 0.25 m is reported. There is intentionally no minimum. A trim 1 mm proud will not read from the street, but that is a judgement about the building rather than a fact about the geometry.
Two things that will bite you
MSH007 is measured in verts per square metre, and it is an error that blocks the export.
Splitting changes neither your total vertex count nor your total area. What it changes is where the check is applied. A carved keystone that was invisible averaged across a 25 m² wall is now measured on its own 0.5 m², where the environment tier allows it about 1250 verts.
So the budget gets looser on the big flat panels and much tighter on exactly the small
ornamental parts that splitting exists to create: keystones, capitals, finials, carved brackets.
Those declare a higher tier per asset, which is legitimate: they are small and they are looked at closely.
→ Modular 3D Assets > Vertex density
MSH001 requires exactly one root object per collection, and it is also an error. A panel and its trim in one collection is two roots.
One collection per part. The grouping you wanted lives in the Unity prefab instead, which is where it is useful to a level designer anyway.
Naming
The grammar needs no change. The three Descriptor slots already allow all of
this. One convention:
Panel, Insert, Trim, Corner.
In the add-on’s New Kit Piece dialog that is the Part box. Variant is the thing itself:
Part Trim, Variant StringCourse. Not the other way round.
SM_Kit_AbandonedTavern_01_Panel_Ground_Arch_01
SM_Kit_AbandonedTavern_01_Insert_Window_Wide_01
SM_Kit_AbandonedTavern_01_Trim_StringCourse_01
SM_Kit_AbandonedTavern_01_Corner_Pier_01
A Kit/<Set> folder of sixty pieces then sorts into its four roles alphabetically, for free. No new token, no new folder level, no change to anything that already parses.
Every part is still Kit, still carries the Set and SetNum, still has no SubCategory. Splitting an element does not make the parts a different category.
→ Modular 3D Assets > Kit Piece Naming
Assemble it back
Do not hand a level designer forty parts. Splitting a wall into six multiplies their placement work by six, and they will be right to resent the kit.
Ship the parts and a handful of assembled facades as prefabs:
P_Kit_AbandonedTavern_01_Facade_Arcade_01
They place a facade and open it up only when they want variation. PRF001 exempts an assembling prefab from mirroring any one model's name. It gets its own Descriptor, exactly like this.
This step is what makes splitting a net gain downstream rather than a tax. Skip it and the kit is technically more flexible and practically slower to use.
Words for the parts
Half the cost of splitting is five people naming one thing five ways. Cornice / Ledge /
Moulding / Band are one shape at three heights; Pier / Pilaster / Column are three shapes doing one job.
Moulding and Molding both report under LEX002. A moulding is the profile, not the piece, and which one it is decides where on the wall it goes. Storey is British English and never Story, which also keeps it clear of narrative content.
Band, Ledge and Trim are intentionally not in the replaced list: a metal band round a barrel and a rock ledge are both correct, and the rule cannot tell them apart. Those stay a judgement.
→ The Words We Use
What changed
2026-09-21: insert, trim and corner pivot classes; MSH015 grid footprint and MSH016 trim projection; bayWidth, storeyHeight, groundStoreyHeight, trimProjection, trimProjectionMax and windowOpening in the grid; a Wall parts vocabulary group.
2026-10-06: windowOpening replaced by three windowOpenings (standard, wide, high), doorOpening raised to 2.25 m so window heads line up with it, and stairRise split into stairRiser and stairGoing. → Openings
Later the same day, MSH016 became enforced in Blender rather than only written down, and MSH018 checks the word a piece is named for against the class it declares.
→ Modular 3D Assets > Which one is it?
All of it lands as warning, like every new rule.
→ Check Your Work > When a rule is wrong
The Blender add-on has the three classes in its Asset Rules dropdown, places the trim and corner pivots, and offers a starter box for both. A corner is 0.2 × 0.2 × 3 m, trim is 4 × 0.1 × 0.2 m.
insert has no starter box, for the same reason door has never had one: it is cut into a wall rather than being one.
Trim gets the flat-connecting-face check too, and it is the one class whose tiling direction is measured rather than looked up: a cornice runs along X and a quoin run along Z, so the add-on reads it off the piece’s own longest dimension.
The longest axis has to beat the next-longest by 2× before it counts. A 4 m cornice is twenty times its own depth, so real trim clears that easily. The margin is there to refuse a coin-flip, not to judge your modelling.
A piece with no axis clearly leading (a carved boss, a corner return) gets no seam check and is left alone rather than guessed at. That is correct, and it also means: if you expect trim to be checked and it is not, look at its proportions first.
→ Modular 3D Assets > Bevels
See also
- Make a Kit Piece: the pipeline these parts go through
- Modular 3D Assets: scale, grid, budgets, the rest of the kit reference
- Modular 3D Assets - Texturing: trim sheets, which is what makes a split kit affordable
- The Words We Use: the full vocabulary
- Roofs · Openings · Balconies: the same four roles, one surface along
- Project Folder Structure > Where does my file go?: where the parts land