Town Planner
An interactive, terrain-aware town-planning tool. Describe the settlement you want, place it one piece at a time, pick each house's asset from a live thumbnail picker — then commit the whole layout to the level.
Natural-language example
The workflow
Plan against the real terrain
Give a centre, radius and seed. The tool queries the live Landscape for the height at every road and house point, works out the layout, and opens a placement session. Nothing is spawned yet.
Place it one piece at a time
Step through the plan: each call drops the next road as a real terrain-fitted road actor, then each house as a colour-coded placeholder carrying a built-in “House NNN” sign. Stop and look whenever you like — get_town_status reports how far along you are.
Hand the house choices to a human
The agent builds a thumbnail-card picker, opens it in the Claude Preview tab and waits for your submission. label_houses toggles the in-viewport “House NNN” signs so the picker's row numbers match what you see in the level.
Swap in the assets you picked
Point any house at a different Blueprint or static mesh. Before commit it only edits the plan; after commit it swaps that house immediately, keeping its current live transform. Omitted measurements inherit the previous asset's.
Nudge anything that looks wrong
Move or rotate a single house, before or after commit. Overlapping a road corridor or another house raises a warning but never blocks — a manual override is a deliberate override.
Commit to real assets
Swaps every placeholder for its real profile asset, reading each house's current live transform so your adjustments carry over. Roads are untouched — they were real from the start. Prefer a different seed? wipe_town clears the lot.
Demo
Episode 19 — the agent plans a town, then hands the house choices to a human.