GapWall — Quick start
GapWall is an editor tool for drawing simple horizontal collider walls with door and window openings (adjustable sill and height). It produces ordinary Unity BoxColliders, not visible wall geometry or door objects. No registration, network connection or additional purchase is required by the tool.
Install
Import GapWall into a backed-up test project first. Source files stay under Assets/GapWall/Editor. Open Tools > GapWall > Wall Editor. Requires Unity 6.3 LTS or newer; older releases are not supported. Automated engine tests have passed on 6000.3.23f1 and 6000.6.0f1 (no other versions are claimed). The window, Scene View preview, presets, templates and bake were also checked by hand in the Unity 6000.3.23f1 editor with the Built-in render pipeline, and in URP and HDRP projects.
Try the example
- Press Try demo. It opens a saved layout with three walls: two doors in the first wall and a window in the second. The layout is saved as
Assets/GapWallLayouts/Demo.asset, outside the plugin folder, and is reused the next time you press the button (delete it to start from a fresh copy). It does not replace your scene or existing objects. The window also remembers the last layout you used and reopens it next time. - Press Frame layout to see the preview in Scene View. Cyan wire boxes show solid parts, orange labels mark opening centers. Preview lines are editor guides and do not collide.
- Select Wall 1 and change either opening's Clear width (m). Position on wall is a fraction: 0 is the start, 1 the end. Width stays in metres when wall length changes. Endpoints can be changed using X/Z fields or Scene View position handles. Shared nodes move adjoining walls together.
- Press Bake NEW collider group. A new group appears in the active scene. Save your scene to keep it. Ctrl+Z undoes a bake; Ctrl+Y redoes it.
Draw your layout
- Press New layout, choose a filename, preferably in an Editor folder, and save. Existing assets are not overwritten; a unique name is used when necessary.
- Press Draw connected walls. Left-click the floor plane in Scene View to place a first endpoint; each additional click adds a wall connected to the preceding point. Placement uses a horizontal plane, not mesh snapping. Alt camera navigation remains available.
- Press Stop drawing or Escape to end the chain. Starting again creates a separate chain. Undo also ends drawing to avoid a stale endpoint.
- Select a wall from the dropdown or its sphere marker. Under Add opening, press Door, Double door, Window or Full-height gap to add a ready-made opening in the widest free stretch of the wall (the middle when none is free), then edit its numbers (see below). Add more openings as required.
- Set wall height, thickness, floor height, layer, optional trigger mode and optional physics material. Save saves layout assets; saving the scene separately saves baked objects.
Openings: sill, height and presets
Each opening has Position on wall, Clear width (m), Sill (m) (distance from the wall floor to the bottom of the opening) and either Full height (to wall top) or an Opening height (m). Switch Full height off to type a height; the opening then has solid wall above it (a lintel), and solid wall below it when the sill is above 0. A sill of 0 with full height is a plain doorway, as in v0.1.
Presets (all values stay editable): Door 0.9 m wide, 2.1 m high; Double door 1.6 m wide, 2.1 m high; Window 1.2 m wide, sill 0.9 m, height 1.2 m; Full-height gap 1.2 m wide to the wall top. On a wall too low for a preset the door becomes full height, and Window is disabled with a tooltip (raise the wall height).
Mirror flips an opening to the other end of its wall (position 1 minus current). Duplicate adds a copy next to it, shifted by its width plus 0.5 m and kept inside the wall. Remove deletes it. Each is one Undo step.
Scene View labels read "Door 1.2 m" for full-height openings and "Opening 1.2 x 1.1 m" (width x height) otherwise.
Room templates
Under Room templates choose Rectangle 6 x 4 m, L-shape or Corridor 10 x 2 m and press Insert template. The template, with preset doors, is added to the current layout (existing walls are kept) with its minimum corner at the Scene View pivot, on the layout's floor height. The new wall is selected. Ctrl+Z removes the whole insert in one step. Edit the walls and openings afterwards like any others.
Before replacing an old bake
Every bake creates a new independent group. It never identifies an old group by name and never deletes your existing content. Preview changes do not update previous bakes. Deliberately remove the old generated group yourself when replacing it; otherwise you will have overlapping old/new colliders that can block an intended opening. Undo can restore an accidental removal through Unity's normal workflow.
Limits and troubleshooting
- Only horizontal walls. Windows and lintels are collider boxes only: GapWall does not cut visible meshes, animate doors, destroy walls at runtime or generate navigation. No slopes.
- Overlapping or touching openings merge into one open area, including openings of different heights. An opening whose top is above the wall is clipped to the wall top; a sill at or above the wall top is rejected. An opening extending beyond a wall is clipped to its endpoints. Solid leftovers (and slivers) smaller than 0.01 m are omitted, so features closer than 1 cm may leave a sub-centimetre slit. A completely open layout cannot be baked.
- Coordinates must be finite and within 100 km of the origin; height/thickness 0.01–1000 m; gap widths 0.01–100000 m. These checks reject invalid or imprecise geometry, not paid feature limits. There is no fixed wall/opening count limit; large layouts cost more editor time and memory.
- A neighboring wall can still obstruct a passage. The opening only removes collision from its own wall. Test your actual character size, layers and other colliders in your game.
- Empty preview: select a layout, leave Play Mode, enable the Scene View and frame the layout. A validation warning prevents invalid geometry from being previewed/baked; fix the indicated field.
- Nodes do not snap to terrain. Floor height changes all nodes; X/Z movement preserves height. Do not move the root of an old bake and expect the original world-space layout to follow it.
- Changing a bake directly does not change its source layout. Keep a backup of the layout and your scene.
- No custom MonoBehaviours are added to the output. Editor source is excluded from player assemblies. Do not reference editor layout assets from runtime game assets.
Compatibility with older layouts
Layouts saved with v0.1 load unchanged in v1.0 as full-height openings. Do not open a layout saved with v1.0 using v0.1: v0.1 ignores sill and height and would bake windows as full-height doors. Newer-format layouts are refused by older v1.x builds with a clear message. See Changelog.md.
Support
Email support@increstudios.com (Incre Studios, https://increstudios.com/support/). Include your GapWall version (see Changelog.md), your Unity version, the relevant settings and, if possible, a small test project that shows the problem. Do not send private customer data or an entire confidential project. Online copy of this guide: https://increstudios.com/unity/gapwall/docs/quick-start/