Building Generator

With the Spline Building Generator you draw a spline, and PolyBash builds a building along it. The generator creates outer walls, inner walls, floors, ceilings and a gable roof. Doors, windows and floor openings cut the shell, and generated frames fill each door and each window.

This page documents every section of the inspector. The page Spline Generators Overview explains the parts that both generators share, such as the build cycle, the stage system and the Info section.

How the spline becomes a building

The spline describes the centerline of the building plan, and not the outer wall itself.

Term Meaning
Corridor The band around the spline. The foldout Per-Knot Offsets defines its left half-width and its right half-width at each knot, so the total width is the sum of both values.
Section The part of the corridor between two spline knots. A spline with four knots has three sections.
Level One horizontal band of the building. Level 1 starts at the local height 0, and each further level rests on the level below it.
Run A group of neighboring sections that share the same top level. The generator builds the roof per run.

The generator builds the outer wall along the corridor boundary. The inner wall follows the same boundary, offset inward by Wall Width.

A section produces nothing in these cases:

  • Its Top Level is 0.
  • Its two knots occupy the same position in the horizontal plane.
  • Its Bottom Level is above its Top Level.

Quick start

  1. Create the generator, as the section Add a generator to a scene describes.
  2. Draw a spline with at least three knots.
  3. Assign a material to Default Material.
  4. Open the Levels section, and set Level Height.
  5. Open the Per-Section Levels foldout, and raise Top Level to 2 for some sections.
  6. Open the Walls & Corridor section, and set Left Offset and Right Offset.
  7. To apply both values to every knot, select Reset All To Global in the Per-Knot Offsets foldout.
  8. Open the Openings section, and select Add Door and Add Window.
  9. Set a different Position on each of the two new cards, such as 0.2 and 0.6.
  10. Open the Roof section, and set Roof Type to Gable.

Levels

This section defines the height of each level. Open the Level foldout inside the section for the two fields.

Field Default Description
Level Height 3 The height of one level, in meters. Every level uses this value, unless an override exists.
Level Height Overrides Empty A list of exceptions. Each entry holds a Level Number and a Height in meters.

The generator stacks the levels from the local height 0 upward. Level 1 spans from 0 to Level Height, and level 2 continues above it. An override changes one level, and it shifts every level above that level.

Per-Section Levels

The foldout Per-Section Levels holds one row per section, and each row carries two values. The row labels count from 0, and the generated nodes count from Section-01.

Field Default Description
Bottom Level 1 The lowest level of this section.
Top Level 1 The highest level of this section.

Different values per section produce a building with parts of different heights, so a tower needs a high Top Level on only one section. Set both values to 0 to leave a section empty, so that the building receives a gap.

PolyBash resizes this list after each change of the knot count. It adds and removes entries only at the end of the list, and a new entry receives a value of 1 for both fields. After you insert or delete a knot inside the spline, verify the values that follow it.

Walls & Corridor

This section defines the wall geometry and the corridor width. Open the Wall foldout inside the section for the fields.

Field Default Description
Wall Width 0.2 The thickness of the wall, in meters. The inner wall sits at this distance inside the outer wall.
Left Offset 2.5 The half-width that a new knot receives on the left side of the spline, in meters. The build uses the values in Per-Knot Offsets.
Right Offset 2.5 The half-width that a new knot receives on the right side of the spline, in meters. The build uses the values in Per-Knot Offsets.
Wall UV Scale 5 The size of one texture tile on the wall, in meters. A value of 5 means that one tile covers 5 meters. The floors, the ceilings and the top surfaces use the same tile size.
Curve Segment Length 0.5 The length of one segment on a curved section, in meters. A smaller value produces a smoother curve and more triangles.
Wall Collider Mode Mesh The collider of the outer walls. The next table describes each mode.
Wall Collider Tolerance 0.05 The Primitives mode only. The largest distance, in meters, between a merged box and the real wall curve.
Outer Wall Material Empty The material of the outer walls.
Inner Wall Material Empty The material of the inner walls.

A Wall Width of 0 places the inner wall on the outer wall, so the wall has no thickness.

Curve Segment Length affects only curved sections. A section whose two knots both use the tangent mode Linear stays one straight segment.

Wall collider modes

Mode Result
None The walls receive no collider.
Mesh One Mesh Collider per outer wall mesh. This mode is exact, and it is the default.
Primitives One Box Collider per wall segment, on a rotated child object.

The Primitives mode splits each wall into bands: one band lies below the sill of an opening, and one band lies above the head, so a door or a window stays passable.

Neighboring wall segments merge into one box while the error stays below Wall Collider Tolerance. As a result, a straight wall needs few boxes, and a tight curve keeps more. A value of 0 produces one box per wall segment. The inner walls never receive a collider.

Per-Knot Offsets

The foldout Per-Knot Offsets holds the corridor half-widths of each knot, and the build uses only these values. PolyBash adds and removes entries only at the end of the list, and a new entry receives the values of Left Offset and Right Offset. After you insert or delete a knot inside the spline, verify the values that follow it. Reset All To Global copies Left Offset and Right Offset to every knot. You can also drag the cyan handles in the Scene view to edit the values. Hold Shift to move both sides at the same time.

Caps & Floors

This section defines the horizontal surfaces. Open the Cap foldout inside the section for the fields.

Field Default Description
Generate Top Floor Off Adds a horizontal surface on the top level of each section, at the height of the level top.
Top Floor Material Empty The material of the top surface.
Floor Material Empty The material of every floor.
Ceiling Material Empty The material of every ceiling.
Ceiling Offset From Top 0.05 The distance between the ceiling and the top of the level, in meters.
Cap Collider Mode None The collider of the floors, the ceilings and the top surfaces.

The floor of a level sits at the bottom of that level. The ceiling sits below the top of the level, at the distance of Ceiling Offset From Top.

Cap Collider Mode offers None and Mesh. The Mesh mode reuses the rendered surface, so the holes of the floor openings stay open in the collider. That collider is concave, which means that it works only for static objects.

For a building without a roof, or for a roof terrace, select Generate Top Floor.

Openings

This stage cuts the doors, the windows and the floor openings. Every later stage reads those cuts, so the walls, the floors and the frames stay consistent.

Doors & Windows

The foldout Doors & Windows holds one card per opening. Select Add Door or Add Window below the cards to add one. The title of a card shows an automatic name, such as "Window 2". To replace that name, enter a text in the field beside the title. The Remove button in the header of a card deletes that opening.

Field Description
Type Door or Window. A door starts at the floor, and a window starts at its sill.
Level The level that holds this opening. A value of 1 is the lowest level.
Position The location along the perimeter, from 0 to 1.
Width (m) The width of the opening, in meters.
Height (m) The height of the opening, in meters.
Sill Height (m) Windows only. The height of the sill above the floor, in meters.
Count Windows only. The number of windows that this card creates.
Spacing (m) Windows only. The gap between two adjacent windows, in meters, measured along the wall.
Insert Colliders The colliders of the generated frame insert of this opening. Boxes adds one box collider per frame bar, plus one box for the door leaf or the window sash. None adds no collider.

A new door uses the width 0.9, the height 2.1 and the sill height 0. A new window uses the width 1, the height 1.2, the sill height 0.9, the count 1 and the spacing 1. Both use Insert Colliders = Boxes.

With Boxes, a door frame receives three box colliders and a window frame receives four, one per bar. The leaf or the sash receives one more box as a child of that part, so the box follows the part when the part opens. An opening that wraps a corner, or that sits on a curved section, splits each bar into one box per straight span. The section Frame Inserts describes the inserts themselves.

A window that uses a Count above 1 creates a row of copies along the perimeter. Every copy uses the width, the height and the sill height of the card. The gap between two adjacent copies is Spacing (m), so the distance between two centers is the sum of Width (m) and Spacing (m). The whole row stays centered on Position.

Position runs along the closed perimeter of the building. Position 0 lies at the corner between the left wall and the wall that closes the start of the spline. The value first crosses that start wall and grows along the right side. It then crosses the wall at the end of the spline, and returns along the left side.

The generator clamps each opening, so that it stays inside its level:

  • A door starts at the floor. Its head stays below the top of the level.
  • A window sill stays at 0.05 meters or above.
  • The head of a window stays below the top of the level, so a high sill reduces the height.
  • The width stays below the length of the perimeter.
  • The row of copies of a window stays below the length of the perimeter. The generator reduces Count when the row does not fit.

An opening appears only when its Level lies between Bottom Level and Top Level of its section. Each copy of a window follows that rule with the section that holds the copy.

Floor Openings

The foldout Floor Openings holds one card per hole in a floor, and a floor opening produces a stairwell or a light well. Select Add Floor Opening to add one. The title of a card shows an automatic name, such as "Opening 1". To replace that name, enter a text in the field beside the title. The Remove button in the header of a card deletes that opening.

Field Description
Level The level whose floor receives the hole.
Width (m) The size of the hole along the local X axis, before the rotation.
Depth (m) The size of the hole along the local Z axis, before the rotation.
Rotation (deg) The rotation of the hole around the vertical axis, in degrees.
Center (X, Z) The center of the hole, in the local space of the generator.

A new floor opening uses the level 2, the width 1.5 and the depth 2.5.

A hole at level N cuts the floor of level N and the ceiling of level N-1. The generator also adds the vertical surfaces between both edges, so the hole shows a closed shaft.

Scene handles

The toggle Opening Handles in the Scene Gizmos section controls the handles of this stage.

  • A door or a window shows a vertical line and two handles. Drag the sphere at the center along the wall to change Position. Drag the cube at the upper-right corner, as seen from outside the building, to change Width (m) and Height (m). The width grows on both sides, so the center of the opening stays in place.
  • A window also shows a cube at the bottom center, and a drag of that cube up or down changes Sill Height (m).
  • A window that uses a Count above 1 shows one vertical line and one set of handles per copy. The handles of every copy edit the same card. Drag the center sphere of any copy to move the whole row, because the row stays centered on Position. The label reports the number of copies.
  • A floor opening shows its rectangle and a handle. Drag the handle in the plane of the floor to change Center (X, Z).

Roof

This stage builds a gable roof, and it produces nothing while Roof Type is None.

Field Default Description
Roof Type None None builds no roof. Gable builds a roof with two slopes.
Roof Height 2 The height of the ridge above the top of the run, in meters.
Roof Thickness 0.02 The thickness of the roof slab, in meters.
Roof Eave Overhang 0 The extension of the slope beyond the wall, in meters, measured along the slope.
Roof End Overhang 0 The extension of the roof beyond the first knot and beyond the last knot of the run, in meters.
Roof UV Scale 5 The size of one texture tile on the roof, in meters.
Roof Material Empty The material of the upper surface.
Roof Bottom Material Empty The material of the lower surface.
Roof End Cap Material Empty The material of the triangle above the wall, at each end of the run.
Roof Eave Material Empty The material of the front edge of the slope.
Roof End Material Empty The material of the side edge, at each end of the run.
Roof Collider Mode None The collider of the roof. The next table describes each mode.
Roof Collider Tolerance 0.05 Collider modes only. The largest distance, in meters, between a merged slab and the real ridge curve.

The ridge follows the spline, at Roof Height above the top of the run. Both slopes reach the corridor boundary, so the values in Per-Knot Offsets control the width of the roof. An asymmetric corridor produces two slopes of different angles.

The generator builds one roof per run of equal top level. A run that stands beside a taller run receives a clipped roof, so that the roof stops at the taller wall.

Mode Result
None The roof receives no collider.
Convex Slabs One convex slab per part of a slope. This mode works with a Rigidbody, and it produces more colliders.
Concave Mesh One merged mesh per run. This mode is exact, and it works only for static objects.

In both collider modes, each end of a run that does not touch a taller run receives one more collider for the gable triangle.

Frame Inserts

This stage fills each door cut and each window cut with a generated frame, and it produces nothing while the Openings stage adds no cuts.

A window frame has four bars: two jambs, one head bar and one sill bar. A door frame has three bars, because the leaf reaches the floor. The generator clamps the border of each frame, so that the opening stays open. Every material of this stage falls back to Default Material.

Insert cards

The section holds two lists, Window Inserts and Door Inserts, and each list holds one card per frame style. Select Add Window Insert or Add Door Insert below a list to add a card. A new stage starts with one window card and one door card.

The title of a card shows an automatic name, such as "Window Insert 2". To replace that name, enter a text in the field beside the title. Duplicate copies the card, including its opening selection, and Remove deletes it.

Applies To selects the openings that receive the card:

Value Result
All Openings Every opening of the matching type.
Selected Openings Only the openings that you select in the Openings list below the field. The list names each opening of the matching type with its name from the Doors & Windows list. The header reports the count, such as "Openings (2/5)".

The first card of a list uses All Openings. Each further card starts with Selected Openings and an empty selection, because a second card with All Openings would never receive an opening. When several cards match one opening, the first card in the list wins. An opening that no card matches stays an open cut. A card without a selected opening builds nothing, and the card reports that state below the list.

A card selects an opening through a stable id, so the selection survives a reorder, a rename and a deletion of other openings.

The colliders of an insert come from the Insert Colliders field of its opening, which the section Doors & Windows describes.

Window cards

Field Default Description
Frame Border 0.06 The width of the frame bars, in meters.
Frame Depth 0 The depth of the frame along the wall thickness, in meters. A value of 0 matches the wall thickness.
Frame Uv Grain Vertical The direction of the texture grain along each bar. Vertical aligns the length of the bar with the V axis of the texture, and Horizontal aligns it with the U axis.
Add Lattice Off Adds a lattice inside the frame. The lattice is a set of thin bars that divides the glass into fields.
Lattice Material Empty The material of the lattice.
Frame Material Empty The material of the frame.
Glass Material Empty The material of the outside pane.
Glass Inside Material Empty The material of the inside pane.
Include Pane On Builds two glass panes inside the frame. For an open window, clear the checkbox.
Double Sash Off Builds two sashes side by side inside one frame, with no bar between them. See Double inserts.

A nonzero Frame Depth stays centered on the middle plane of the wall. As a result, a deeper frame protrudes on both faces, and a shallower frame recesses on both faces.

Lattice Material and the lattice fields below appear only while Add Lattice is on. The lattice is double-sided, so its total depth is twice the value of Rail Height.

Field Default Description
Pane Width 0.3 The target width of one glass field, in meters. The fields at the border shrink, so that the lattice fits the frame.
Pane Height 0.3 The target height of one glass field, in meters.
Rail Width 0.06 The width of every bar of the lattice, in meters.
Rail Height 0.03 The depth of every bar of the lattice, in meters.
Chamfer 0.015 The bevel of each bar, in meters. It must stay below half of Rail Width.
Min Border Frac 0.25 The smallest allowed field at the border, as a fraction of the target size. Raise it to avoid narrow fields.
Outer Chamfer Off Bevels the outer edge of the lattice, with mitered corners.
Back Style Open The closure of the lattice at the back plane, where the two halves of the lattice meet. Flat adds faces on the back plane. Open adds no faces there.
Uv Size 5 The size of one texture tile, in meters. The glass uses the same tile size, even while Add Lattice is off and this field is hidden.
Uv Mode Planar Planar projects the texture. Rail Islands gives each bar its own UV island.
Uv Grain Vertical Rail Islands only. The direction of the texture grain along each bar: Vertical or Horizontal, as for Frame Uv Grain.
Island Spacing Mm 10 Rail Islands only. The gap between two UV islands, in millimeters.

Window pane pivot

These three fields move the local origin of the glass, and the glass itself stays in place.

Field Default Description
Pane Pivot X Mid The origin across the width. Min is the left edge, seen from outside the building. Max is the right edge.
Pane Pivot Y Mid The origin along the height. Min is the bottom edge, and Max is the top edge.
Pane Pivot Z Mid The origin along the wall depth. Min is the inside face, and Max is the outside face.

The generator groups the glass and the lattice under a node whose name ends with _Sash, and it places that node at the pivot. The local axes of that node follow its wall: +Z points out of the building, +Y points up, and +X runs along the wall. Rotate that node around one local axis to open the window, and the window opens the same way on every wall. For a hinge on one edge, select Min or Max for Pane Pivot X.

The two fields below rotate the sash at build time, so a building generates with open windows.

Field Default Description
Pane Open Angle 0 The rotation of the sash after the build, in degrees. A value of 0 keeps the sash closed.
Pane Open Axis Y The local axis around which Pane Open Angle rotates the sash. Y gives a side-hung sash. X gives a top-hung or bottom-hung sash. Z turns the sash in the plane of the wall.

A positive angle follows the rotation direction of Unity around the selected axis. Around Y, a sash with Pane Pivot X = Min swings out of the building, and a sash with Max swings into the building. Around X, a sash with Pane Pivot Y = Min tilts its top edge out of the building. Use a negative angle for the opposite direction.

Door cards

Field Default Description
Frame Border 0.06 The width of the frame bars, in meters.
Frame Depth 0 The depth of the frame along the wall thickness, in meters. A value of 0 matches the wall thickness.
Frame Uv Grain Vertical The direction of the texture grain along each bar. Vertical aligns the length of the bar with the V axis of the texture, and Horizontal aligns it with the U axis.
Frame Material Empty The material of the frame.
Leaf Material Empty The material of the leaf.
Include Leaf On Builds the door leaf. For an open doorway, clear the checkbox.
Double Leaf Off Builds two leaves side by side inside one frame, with no bar between them. See Double inserts.
Floor Gap 0.01 The gap between the bottom of the leaf and the floor, in meters.

The leaf is a stile-and-rail panel door. The generator solves it per opening, so the fields below describe the pattern and not the size.

Field Default Description
Panel Width 0.3 The target width of one panel, in meters. The panels at the border shrink, so that the pattern fits the leaf.
Panel Height 0.6 The target height of one panel, in meters.
Stile Width 0.12 The width of every vertical board, in meters.
Rail Width 0.12 The width of every horizontal board, in meters.
Board Relief 0.02 The height of the boards above the back plane, in meters.
Panel Depth 0.005 The height of each panel face above the back plane, in meters. It must stay above 0 and below Board Relief.
Core Thickness 0 The extra thickness between the two faces, in meters. The total thickness is twice Board Relief plus this value.
Chamfer 0.02 The bevel between a panel and a board, in meters. It must stay below half of the smaller value of Stile Width and Rail Width.
Min Border Frac 0.25 The smallest allowed panel at the border, as a fraction of the target size.
Uv Size 5 The size of one texture tile, in meters.
Uv Mode Planar Planar projects the texture. Board Islands gives each board its own UV island.
Uv Grain Vertical Board Islands only. The direction of the texture grain along each board: Vertical or Horizontal, as for Frame Uv Grain.
Island Spacing Mm 10 Board Islands only. The gap between two UV islands, in millimeters.

When Panel Depth or Chamfer is outside its limits, the generator skips the leaf and writes a warning to the Console window.

When light passes through the thin areas of the panels, raise Core Thickness.

Door leaf pivot

Field Default Description
Leaf Pivot X Min The origin across the width. Min is the left edge, seen from outside the building. Max is the right edge.
Leaf Pivot Y Min The origin along the height. Min is the floor edge, and Max is the top edge.
Leaf Pivot Z Mid The origin along the wall depth. Min is the inside face, and Max is the outside face.

The pivot of the leaf behaves like the pivot of the sash, which the section Window pane pivot describes. The leaf object uses the same local axes as the sash node. As a result, a rotation around the local Y axis opens the door the same way on every wall. The default Min for Leaf Pivot X places the hinge on the left edge.

The two fields below rotate the leaf at build time, so a building generates with open doors.

Field Default Description
Leaf Open Angle 0 The rotation of the leaf after the build, in degrees. A value of 0 keeps the leaf closed.
Leaf Open Axis Y The local axis around which Leaf Open Angle rotates the leaf. Y gives a side-hung door. X tilts the leaf around a horizontal axis along the wall. Z turns the leaf in the plane of the wall.

The sign of the angle follows the same rules as Pane Open Angle: around Y, a leaf with Leaf Pivot X = Min swings out of the building, and a leaf with Max swings into the building. The knob and the colliders are children of the leaf, so they follow the rotation.

Door knob

Field Default Description
Knob Prefab Empty The prefab of the doorknob. The generator parents each instance to the leaf, so the knob follows the door. PolyBash includes the prefab Assets/Snowtop/PolyBash/Prefabs/Building Parts/DoorKnob-01.prefab, which the sample scene uses.
Knob X 0.06 The distance from the left edge of the leaf, in meters, seen from outside the building.
Knob Y 1 The height above the floor, in meters.
Knob Z 0.03 The distance from the middle plane of the door, in meters. A positive value places the knob on the outside face.
Knob Mirror Off Places a second knob on the opposite face, as an object whose name ends with _KnobMirror. The instance receives a negative scale on Z, so a handed knob stays correct.

The four fields below Knob Prefab appear only after you assign a prefab. The knob needs the leaf, so Include Leaf must stay on.

The generator clamps Knob X to the width of the leaf. With the default values, the knob sits near the hinge, because Knob X and Leaf Pivot X both use the left edge. For a normal door, set Knob X near the width of the leaf, as the sample scene does.

Author the prefab with the knob along the +Z axis, from its mount point at the origin. The generator orients each instance with +Z toward the outside of the building.

Double inserts

Double Sash on a window card and Double Leaf on a door card build two moving parts side by side inside one frame. Each part is half of the reveal wide, and no frame bar separates the parts. The frame itself stays the same, and the generator solves the lattice per sash, so each sash receives its own lattice.

The left part, as seen from outside the building, follows the pivot, the open angle and the knob fields of the card. The right part mirrors the left part across the center of the opening:

  • The pivot X swaps Min and Max. As a result, a hinge on the left edge of the left part becomes a hinge on the right edge of the right part.
  • The open rotation around Y or Z changes sign, so the two parts open in opposite directions. A rotation around X stays the same on both parts.
  • The knob of the right leaf sits at the mirrored spot. The instance receives a negative scale on X, so a handed knob stays correct.

The generated objects of a double insert carry _Left or _Right after the insert name, for example DoorInsert3_Left_Leaf and WindowInsert3_Right_Sash. A single insert has no suffix.

Materials

Each part carries its own material field, and an empty field falls back to another material.

Part Fallback order
Outer wall Outer Wall Material → Default Material
Inner wall Inner Wall Material → Default Material
Floor, ceiling The own material → Outer Wall Material → Default Material
Top surface Top Floor Material → Inner Wall Material → Default Material
Roof surfaces The own material → Roof Material → Inner Wall Material → Default Material
Frames, glass, leaf, lattice The own material → Default Material

At each end of a roof run, the inner triangle above the wall uses Inner Wall Material → Default Material, not the roof materials.

Generated output

The generator writes its result into child objects, and each mesh object and each node carries the marker component Generated Output. The wall boxes, the insert colliders and the knob instances carry no marker, but each one is a child of a marked object.

<generator GameObject>
├── Section-01
│   └── Level-01
│       ├── Floor
│       ├── OuterWalls
│       ├── InnerWalls
│       ├── Ceiling
│       └── TopCap
├── Roof
│   └── Section-01
│       ├── RoofTop
│       ├── RoofBottom
│       ├── RoofEaves
│       ├── RoofEndCaps
│       ├── RoofEndCapsInner
│       ├── RoofEndStart
│       └── RoofEndEnd
├── WindowInserts
│   └── Section-01
│       ├── WindowInsert0
│       │   └── Collider-0 … Collider-3
│       └── WindowInsert0_Sash
│           ├── WindowInsert0_Pane
│           ├── WindowInsert0_PaneInside
│           ├── WindowInsert0_Lattice
│           └── Collider-0
└── DoorInserts
    └── Section-01
        ├── DoorInsert1
        │   └── Collider-0 … Collider-2
        └── DoorInsert1_Leaf
            ├── DoorInsert1_Knob
            ├── DoorInsert1_KnobMirror
            └── Collider-0

Notes on the names:

  • The number of an insert is the position of its opening card in the Doors & Windows list, counted from 0. Doors and windows share that list, so the count includes both types. The number in the card title differs, so the card "Window 1" at the top of the list produces WindowInsert0.
  • A window that uses a Count above 1 adds the index of the copy after an underscore, such as WindowInsert2_0 and WindowInsert2_1.
  • A box collider appears as a child of OuterWalls, with the name WallBox-0 and the following numbers.
  • A roof collider appears as a child of the section node of the roof, with the name RoofCollider-0 and the following numbers.
  • The node TopCap exists only while Generate Top Floor is on.
  • The knob objects exist only while Knob Prefab holds a prefab, and the object DoorInsert1_KnobMirror exists only while Knob Mirror is on.
  • An insert collider appears as a child of the frame, of the sash or of the leaf, with the name Collider-0 and the following numbers. The generator adds these objects only while Insert Colliders of the opening is Boxes.

Troubleshooting

Problem Cause and solution
Nothing appears, and Info reports "No build yet". The spline has fewer than two knots. Add knots.
One section is missing. Its Top Level is 0 in Per-Section Levels, or its two knots occupy the same position. Raise Top Level, or move one knot.
The roof is missing. Roof Type is None. Select Gable.
The roof stops before the end of the building. The neighboring run has a higher top level, and the generator clips the roof against the taller wall. This behavior is intended.
A door or a window is missing. Its Level lies outside the range between Bottom Level and Top Level of its section. Change Level, or widen that range.
A window is lower than the value of Height (m). The head reached the top of the level. Reduce Sill Height (m), reduce Height (m), or raise Level Height.
A window sits above its authored sill. The minimum sill is 0.05 meters. Raise Sill Height (m) to that value or above.
The frames are missing. The Frame Inserts stage is off, the Doors & Windows list is empty, or no insert card matches the openings. Select the checkbox of the stage, add an opening, and verify Applies To on the cards.
One opening has no frame although the other openings have one. No insert card covers that opening. Set Applies To of a card to All Openings, or select the opening in the Openings list of a card.
A new insert card changes nothing. The new card uses Selected Openings, and its selection is empty. Select the openings in the Openings list of the new card.
A new insert card changes nothing, although it has selected openings. An earlier card in the list covers the same openings, and the first card wins. Set Applies To of the earlier card to Selected Openings, and select only the openings that it must keep.
An insert has no collider. Insert Colliders of the opening is None. Select Boxes.
The lattice fields are missing. Add Lattice is off on the window card. Select it.
The knob fields are missing. Knob Prefab is empty on the door card. Assign a prefab.
The doorknob is missing although a prefab exists. Include Leaf is off, and the knob needs the leaf. Select Include Leaf.
A character walks through a wall. Wall Collider Mode is None. Select Mesh, or select Primitives for a moving object.
A character falls through a floor. Cap Collider Mode is None. Select Mesh.
The floors have no hole below a stairwell. The Level of the floor opening is wrong. A hole at level N cuts the floor of level N, so set Level to the level whose floor must receive the hole.
The wall has no thickness. Wall Width is 0, so the inner wall lies on the outer wall. Raise Wall Width.
A curve looks angular. Curve Segment Length is too large. Reduce the value.
A wall segment has no texture repetition. Wall UV Scale is too large. Reduce the value.