A friend of mine spent nine weeks on a cathedral. Vaulted ceilings, hand-placed candles, a stained-glass shader she wrote herself. The first time anyone else played it, they walked through the nave in eleven seconds and asked where the door was. The room was beautiful and it was also a corridor, because the fight it was built around had been designed on paper and never once walked.
That's the whole argument for greyboxing. A blockout is not a rough draft of the art — it's the test of the design, and it's the cheapest place you will ever find out that your combat arena is too small, your jump gap is unreadable, or your set-piece is a hallway. Below is a workflow that works for a solo dev and scales to a small team.
Lock your metrics block before you place a single wall
The single biggest cause of blockout rework is building geometry before you know what your character can do. Every distance in your level is really a statement about your movement system, and if the movement system changes later, every distance is wrong.
So the first thing you build is not a level. It's a metrics block: a grey room containing one of every measurement your game cares about.
Derive the numbers instead of guessing them. Say your character runs at 500 units/second, jumps with an initial velocity of 700 u/s, and your gravity is 980 u/s². Then:
| Metric | Formula | Value |
|---|---|---|
| Jump apex height | v² / (2g) | 250 u |
| Hang time | 2v / g | 1.43 s |
| Theoretical max gap | speed × hang time | ~715 u |
| Comfortable gap ("always makes it") | 75% of max | 535 u |
| Stretch gap ("needs commitment") | 90% of max | 645 u |
| Read-as-impossible gap | 115%+ of max | 825 u+ |
Now build a room that physically contains those: a 250 u ledge, a 535 u gap, a 645 u gap, an 825 u gap, a 1-, 2- and 3-storey wall, a doorway at your minimum comfortable width, a corridor at your minimum comfortable width. Every subsequent level gets built out of these parts.
Two rules make the metrics block earn its keep:
- Never design a distance that isn't in the block. If you need a new one, add it to the block first and walk it.
- When movement changes, change the block, then re-walk every level. A 10% jump-height tweak is a five-minute number change and a two-day level audit. Knowing that up front is the point.
Note what the table doesn't include: enemy sight lines, cover height, and encounter footprint. Add those to the block too as soon as you have combat. Cover that's 10 units too short is invisible on a spreadsheet and obvious the moment you crouch behind it.
Pick a grid and never leave it
Choose one base unit and snap everything to it. In Unreal, a 100 uu grid with a 50 uu half-step is a reasonable default; in Unity, 1 m with 0.5 m halves; in a 2D game, whatever your tile is. The reason isn't tidiness, it's that a snapped blockout can be rebuilt by the art team without re-measuring, and modular art assets only work if the underlying geometry was modular first.
Practical grid discipline:
- Wall thickness is one grid unit, always. Not "about" one.
- Floor heights are whole units. A 3.5-unit step exists only if 3.5 is in your metrics block.
- Doorways are a fixed set of widths — pick three, use only those.
- Anything off-grid gets a bright magenta material so it's visible in a flythrough.
Build the beat sheet, then the shapes
Before opening the editor, write the level as a list of beats — 8 to 15 lines, one per moment. Not "corridor, room, corridor," but what the player does and feels:
- Arrive on a high ledge; see the objective across the gap. (Orient)
- Forced descent — no way back up. (Commit)
- First patrol of two enemies, open ground, cover available. (Teach)
- Same enemies, tighter space, one elevated. (Complicate)
- Locked door, key visible through a grate. (Set a question)
- …
Then block out each beat as primitives, spending no more than a few minutes on any single one. Cubes and cylinders. No lighting pass, no materials except a flat grey and a second colour for anything interactive. The goal is a playable version of the beat sheet within a day for a small level, not a pretty one.
Two heuristics that consistently improve first passes:
- Show it before you ask for it. The player should see the gap they'll jump, the arena they'll fight in, or the door they'll open from a position of safety, roughly 3–8 seconds before they have to act on it.
- One new idea per level, three repetitions. Introduce a mechanic in a safe room, repeat it under time pressure, repeat it combined with something known. If you can't name the level's one new idea in a sentence, the level doesn't have one yet.
Playtest at grey, not at pretty
The blockout is done when someone else can play it, and that's exactly when you should hand it over. Watch for four things and write them down as timestamps, not opinions:
- Where they stopped moving. Hesitation means the space failed to communicate.
- Where they went that you didn't expect. Either a shortcut to close or a path you should have signposted.
- Time to complete, per beat. If beat 4 takes 40 seconds and beat 5 takes four minutes, your difficulty curve has a cliff in it.
- What they say the level is about afterwards. If it doesn't match your one new idea, the level is unclear.
Three testers is enough at this stage. You are looking for structural failure, not polish notes, and structural failure shows up on the first player. This is the point where recording sessions in the Playtesting module of GameDesignerX pays off — greybox findings are the ones that get forgotten fastest, because by the time art lands nobody remembers why the ledge was moved 200 units, and someone inevitably moves it back.
The gate before art
Art is where a level stops being cheap to change, so put an explicit gate in front of it. Nothing gets textured, lit, or dressed until every box is ticked:
- Every distance in the level exists in the metrics block.
- The level is fully playable start to finish with no teleports or noclip.
- Three external testers have completed it.
- Time-to-complete is within ±30% of the target for that level.
- The one new idea is stated in one sentence in the level doc.
- All geometry is on-grid (no magenta left).
- Known cuts and open questions are written down, not remembered.
That last item matters more than it looks. Blockouts generate a huge number of small decisions — "we moved the second encounter up because the sightline from the ledge spoiled it" — and those decisions are what a future you, or a new level artist, will otherwise re-litigate from scratch. Keep the beat sheet, the metrics table, and the decision list attached to the level itself; the Levels module and a running decision log are a natural home for exactly this, and it turns a grey box into something a second person can finish.
What you're actually buying
A blockout is not a stage of production you pass through on the way to the real work. It's an insurance policy with a very good rate: a day spent on grey boxes routinely saves a week of art rework, and the failure it catches most often — "this space doesn't support the thing it was built for" — is the single most expensive mistake in level design to find late.
Build the metrics block. Snap to the grid. Write the beats. Then let someone walk your cathedral before you light a single candle.