Props placement
English | French version
For disk storage of props, cliffs and other models, see Pack Content.
Editor placement keeps scene objects connected to their source prefabs, including inline model alternatives and symmetry copies. Unselected alternatives are removed as instance overrides; their source prefab is unchanged. Resources and borders keep their source connections too. Regenerate older maps to replace objects created without a prefab connection.
Getting started
- On the map generator, enable Enable Props Generation, then select the biome or its explicit preset. Regenerate the map after changes.
- Edit the biome preset's Decoration > configs rules. A nonempty Prop Configs list on the map overrides biome rules.
- Assign a Prefab, Surface prefix and Placement chance (%) to each rule. For example,
DirtForest targets forest dirt, Grass targets grassy ground and Plateau targets plateaus. Match case exactly and omit the _ suffix used by generated mesh names. The field's right-hand arrow suggests common surfaces; custom names remain supported.
- Use Random yaw to vary orientation. Other settings are under Advanced placement / legacy.
The MapPropsGenerator Inspector identifies the active rule source and lets you select the biome to edit its rules. Local fallback rules is used only when neither the in-memory rules resolved during generation nor the biome supplies rules. In-memory rules may include biome rules and automatically added default grass. Biome rules are never copied automatically into the component.
On a generated map, the component is a helper: the next generation fills its area and seed from the map definition. To retain a change, edit the generator or the preset supplying its rules.
Understanding a rule
| Display |
Existing field |
Purpose |
| Prefab |
prefab |
Shared model to instantiate. |
| Surface prefix |
Prefix |
Exact surface name; custom names are supported. |
| Placement chance (%) |
tilePercent |
Probability from 0 to 100 per eligible location for ordinary props. |
| Chance / weight (%) |
tilePercent with IsWorldObject |
Highest matching value controls group coverage; all positive values weight the selected model. |
| Grass placement chance |
tilePercent |
Independent probability per rule; larger sizes are placed before smaller ones. |
| Grass detail |
IsGrassDetail |
Identifies a grass rule and enables the map's height/material style. Legacy Grass/TransparentFX rules are also recognized. |
| Random yaw |
RandomRotation |
Random rotation around the vertical axis. |
| Patch size (tiles) |
Scale |
Placement pass 1, 2, 3 or 4; 0 means 1; -1 selects the final pass. Does not resize the prefab. Grass sizes run largest first and reserve tiles; 0/-1 infer prefab coverage. |
| World object |
IsWorldObject |
World-object placement conventions, overlap checks and relief tolerance. |
| Instance layer |
Layer |
Layer of the placed instance's root. |
| Limit altitude / Maximum altitude |
HasMaxAltitude / MaxAltitude |
Relief limit, evaluated before continuous map altitude during generation. |
| Legacy scan color |
color |
Reference color for the standalone Scan By Color action. |
World-object rules share one placement roll using the highest matching percentage,
then select a model using all matching percentages as weights. For 80 and 50,
placement chance is 80%, and the model ratio is 80:50. Other ordinary rules retain
their order. A 100% chance does not bypass path exclusions, prefab footprints or
slope checks. See Tree alternatives and probabilities, or
Grass Details for the separate grass passes.
For World object rules, Random yaw rotates the visible model while the
instance root and collider branches retain their alignment with the map grid.
This also applies to tree alternatives. Imported child rotations and offsets
are retained beneath the generated yaw. A prefab with a renderer on its collider
object receives a separate visual child; its shared mesh is reused.
Regenerate existing maps to apply this placement behavior.
Demo biome trees use DirtForest, a 1-tile pass and Placement chance = 80%. This increases tree coverage on brown areas without filling them with grass. It remains a probability per location; slopes, protected paths and model dimensions affect final coverage. New wizard presets also use 80%. Refreshing a custom preset preserves its values, including a different density.
Standalone component
Placement area groups the instance parent, area size in tiles, tile size in world units and X/Z origin. Randomness groups the seed and reproducible-roll setting for ordinary props; grass always uses its own seed-derived stream.
Advanced: slopes and footprint contains height tolerances under the footprint. Legacy: color scan and border contains the image and mask used only by color scanning, plus the optional border box. Existing standalone actions remain in the component's context menu.
English quick guide
Enable props on the map generator, choose a biome preset, edit its Decoration
rules, then regenerate. A non-empty map Prop Configs override takes priority over
biome rules; the helper's Local fallback rules are used last. The helper shows
the active source and provides a button to select the biome asset.
Expand a rule to choose its prefab, exact surface prefix (such as DirtForest
or Grass), placement chance and yaw variation. Grass also uses per-rule chances, placing larger patch sizes first and filling
free planting tiles with smaller ones. Advanced settings retain patch pass,
world-object handling, instance layer, altitude limit and legacy scan color.
Patch size selects the placement pass; it never scales the prefab.
The Inspector keeps serialized names, types and rule order. Opening it does not
apply presets, clamp existing values or generate props. Included starter forest
tree rules now use an 80% placement chance; refreshing custom presets preserves
their authored rules.