Level Stairs
A snap-together flight of stairs for 2 m grid levels: 2 m wide, climbing one full 3 m storey over two cells (4 m) or half a storey (1.5 m) over one cell, from the bottom step at the +Z edge to the top at the -Z edge, where it meets a floor tile at the next level. Styles shared with the Modular Level Kit: dungeon (solid stone steps with dressed treads between parapet walls), scifi (open plate steps with hazard nosings on stringers with light strips and rails) or house (wooden treads and painted risers on closed stringers, a panelled side, balusters and a handrail).
- Size
- 2.2 × 4.1 × 4.1 m
- Triangles
- 3,440
Tune it
5 knobs: Style, Colourway, Rise, Steps, Rails.
Specs
- Size
- 2.2 × 4.1 × 4.1 m width × height × depth
- Triangles
- 3,440 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 light
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/level-stairs.mjs';
const levelStairs = createAsset();
scene.add(levelStairs); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/level-stairs.mjs';
export function LevelStairs() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import level-stairs.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://level-stairs.glb").instantiate())// Import level-stairs.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "level-stairs", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | dungeon scifi house | dungeon | Shared by every Modular Level Kit piece: dungeon (coursed stone blocks, iron and oak), scifi (bolted panels, trims and glowing light strips), house (plaster over wood or brick wainscot, timber trim). Use one value across a level. |
colorway | choice | classic dark warm | classic | Palette within the style, shared across the kit: classic (dungeon grey granite, scifi light grey with orange, house cream plaster and brown wood), dark (basalt, gunmetal with yellow, white plaster with black timber), warm (sandstone, beige retro with teal, ochre plaster with honey wood and brick). |
rise | choice | full half | full | full (3 m, one storey, over 4 m: two grid cells) or half (1.5 m over 2 m: one cell, for split levels and landings). |
steps | range | 10 to 18, step 1 | 14 | Steps per full storey (14 = about 21 cm risers); half stairs use half as many. More steps = shallower, smaller steps. |
rails | toggle | on / off | true | Side walls or railings: stone parapets (dungeon), posts and rails with light strips (scifi), balusters and a handrail (house). Off leaves the sides open. |
Presets: tower stair {"style":"dungeon","colorway":"dark"} · engineering steps {"style":"scifi","colorway":"dark","steps":16} · cottage landing {"style":"house","rise":"half","colorway":"warm"}
Files
| File | What |
|---|---|
| level-stairs.glb Pro | GLB, default look · 480 KB |
| level-stairs.mjs Pro | ES module, every knob live |
| level-stairs.obj Pro | OBJ, static; colours in the .mtl |
| level-stairs.mtl | OBJ colours; keep it next to the .obj |
| level-stairs-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.