Generation parameters
These are the numbers behind the lots and the massing: what splits a region into parcels, how big those parcels get, and what stands on them. Nearly all of them are stored on the region you had selected when you changed it, not on the city. This page walks the chain in the order the panel draws it, with the real defaults and ranges, and says plainly which controls are stored but not yet read.
Where the parameters are
The generation parameters live in the iCity Editor's scrolling column, in the DRAFT module, under the selection header for whatever you have picked. They are not a separate tab: DRAFT draws the selected element's header, then that element's parameters, then its reshape actions.
They are drawn as a chain, and the order matters: Land Use, Massing Type, Subdivision Method, Setback Mode, Lot Settings, Building Height. Each step narrows what the next one offers, and a step whose answer makes the rest meaningless simply ends the column.
Every knob on this page belongs to one mode — Blocks, which the status bar captions Regions (Alt 3). Switch to it, arm the Select tool, and click a region. With nothing picked the column shows no generation settings at all, because the settings describe the thing you picked.
The iCity 2 workspace, DRAFT module, editing mode Blocks (Alt+3), with one region clicked in the viewport. The iCity Editor column must show the selection header with the region's object name at the top, then the Land Use row, Massing Type, Subdivision Method, Setback Mode, Lot Settings and Building Height sections below it. Whole column top to bottom.
The engine has to be running. While it is stopped the column shows “The iCity engine is not running” and a Start button instead of any parameters, and a parameter write reaches nothing. See The engine.
Your city is not your .blend — it lives in the engine process, and Blender's own save does not reach it. See How it fits into Blender.
What a change reaches
This is the question these controls raise first, so it is worth stating flatly. One parameter edit is routed to exactly one engine command, and which command depends on what is selected at the moment the edit commits.
In practice the whole chain below is drawn only when a region is picked, so an edit you make in the column is a per-region edit. The city-wide route is the scene-level baseline: the values a fresh generate uses, and the values a block falls back to where no region override exists.
To rebuild the whole city against the baseline, go to Graph mode and press Regenerate in the Graph card.
The iCity Editor column in Graph mode with a graph assigned, showing the Graph card: the Assigned line with the mesh name, and the Unassign, Regenerate and Clean Up Graph buttons.
Edits commit on release, not during the drag. The addon then waits roughly a quarter of a second after your last change before sending one command, so dragging a slider produces a single regeneration rather than one per mouse tick.
Land Use, and where the chain stops
The first decision for a region is what fills it, and it is the Land Use row at the top of the parameter column — four icon buttons, wide enough to read even before their art is dropped in.
Park Type defaults to Random, which picks a design per block, and otherwise offers Park 1, Park 2, Park 3 and Park 4.
The iCity Editor in Blocks mode with one region selected and its Land Use set to Parks & Open Space. Show the four Land Use buttons (Residential, Commercial, Parks & Open Space, Empty Block) with the third one lit, and the Park Type dropdown that appears under it reading Random.
Land Use is one control over two properties. It sets what the engine calls the region type — whose three values are spelled Massing, None and Parks, which is why those words turn up in tooltips and in the glossary — and it also picks the massing family, which is why Residential and Commercial are two entries over the same underlying value.
Blocks themselves are not selectable in this build. The Select Blocks and Select Regions toggles are hidden from the tools rail and Blocks mode is pinned to picking regions, so the block-level Split and Block Content controls in the code cannot be reached from the interface. Region is the unit you work with. See Regions.
Massing Type, Subdivision Method, Setback Mode
Under a building Land Use, three selectors decide what stands on the region and how the parcel is cut up underneath. They constrain each other, so it is worth reading them as one group.
The iCity Editor column in Blocks mode, region selected, Land Use Residential. Show the Massing Type icon row, the Subdivision Method section with its dropdown open listing Straight Skeleton, Offset, Recursive and Footprint Map in that order, and the Setback Mode row (Attached / Semi-Detached / Detached) below it.
Massing Type quietly loses options, from two directions at once. Land Use narrows it — Commercial offers only Mixed-Use Mid-Rise, Residential only the other two — and so does the method: Mixed-Use Mid-Rise is offered only under Footprint Map or with Setback Mode on Attached, and Pitched-Roof Low-Rise is never offered under Footprint Map. If your current choice stops being valid, Massing Type resets itself to Flat-Roof Mid-Rise. If nothing fits at all, the panel says so and tells you to change the method rather than leaving a blank row.
Setbacks, elevation and floors
Lot Settings opens with the setbacks, which are per region and appear only once a method actually cuts lots. Front and Rear are always there; Side joins them only under Semi-Detached or Detached, and the panel says why in a line under the fields.
Building Height closes the column with a floor range rather than a metric height, and it sits outside Lot Settings on purpose: it describes the buildings the region carries, not how the region is cut up, so it survives a change of method.
The panel is honest about these five: the three setbacks and the floor range are stored on the region and shown back to you, but the engine does not read them yet. It prints that under Building Height. Wiring them means changing the packed parameter struct on both sides of the C++ boundary, which is not an add-on change.
The split settings
Choosing a Subdivision Method other than Footprint Map fills the rest of Lot Settings with that method's own numbers. Only one set is ever shown, and each is independent — the Recursive numbers are not the Offset numbers. Under Footprint Map you get a sentence instead: “Footprint Map places buildings from a 2D map clipped to the region, so there are no lot constraints.”
- Pick a region in Blocks mode and give it a building Land Use.
- Set Subdivision Method to Recursive, Offset or Straight Skeleton.
- The matching fields appear under the elevation row. Drag or click-to-type a value; the region rebuilds when you release.generation-parameters-recursive-fields.png
The iCity Editor column, region selected, Subdivision Method set to Recursive. Show the Lot Settings section with the setback rows and Lot Elevation Mode at the top, then all six recursive rows: Min Area, Max Area, Min Width, Irregularity, Seed and Street Access (Recursive).
/docs-shots/blender/The Recursive fields, under Lot Settings.
Recursive cuts the parcel down by repeated subdivision until the lots fall inside the area and width limits.
Offset first pushes a band inward from the parcel edge, then subdivides that rim. The offset distance is what sets lot depth.
Straight Skeleton builds a straight skeleton of the parcel and cuts lots along it, which is what produces mitred corners. Its defaults are sized for region-scale parcels: the older 20 / 40 m widths collapsed a small region into one or two giant strips, and the 45-degree corner mitres only show when a street edge yields several lots.
The iCity Editor column, region selected, Subdivision Method set to Straight Skeleton. Show every row from Group Angle down to Corner Alignment, including the Subdivide Lots checkbox. Scroll so the whole set is in one frame if it fits, otherwise capture from Group Angle down.
The three Seed fields do not change how many lots you get, only which arrangement you get. If a split is close but not right, step the seed before touching the areas and widths.
Four of these values are not part of the packed parameter block and do not travel with a per-region edit: Street Access in both flavours, Shallow Lot Fraction and Corner Alignment. They ride a separate rider that is appended only to a full generate from the base graph, so a change to one of them shows up on the next Regenerate in Graph mode, not on the region rebuild you just triggered.
Parameters with no control
The addon sends a fixed block of generation parameters to the engine on every dispatch. Six of them have no control anywhere in the interface, so they always travel at the values below. They are listed here so the set is complete and so you do not go looking for a slider that does not exist.
Block Type deserves a note. It is a city-wide copy of the same Massing / None / Parks choice, and the interface deliberately does not write it — the Land Use row sends a per-region assignment instead, because that is the only form the engine reads. One consequence is visible elsewhere: the DESIGN module's Park settings (Pattern, Tree density, Tree collection) are shown only when Block Type is Parks, which nothing sets, so that group does not appear.
- —Scattering that you can control is the DESIGN module's Scatter mode, which has its own per-system density and seed. See Surface details and Props and placements.
- —Floors are not a generation parameter. They are set per building in Massing mode. See Massing.
- —Lot shape after the split is edited by hand, not by these numbers. See Lots.
Two viewport captures of one identical region, side by side or as a before and after pair: first with Subdivision Method set to Recursive at its defaults, second with Straight Skeleton at its defaults. Same camera position and same zoom in both, lots and building masses visible.
The Discord is fastest for anything scene-specific. Email suits licensing, billing and anything needing a file attached.
Contact support →