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

  1. On the map generator, enable Enable Props Generation, then select the biome or its explicit preset. Regenerate the map after changes.
  2. Edit the biome preset's Decoration > configs rules. A nonempty Prop Configs list on the map overrides biome rules.
  3. 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.
  4. 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.