# Tree alternatives and world-object probabilities English | [French version](TreeAlternatives.fr.md) ## Preview alternatives in the Editor An instance of a prefab with **Map Prop Variants** automatically displays one alternative when placed in a scene, including ordinary Editor instantiation. Inline alternatives keep their common root and collider. A palette referencing separate prefabs displays one child preview. Repeated refreshes do not add copies. Select the scene instance and use **Preview Next Alternative** to inspect another model. The selected preview is saved with the scene. Previewing a scene instance does not change its source prefab or consume the generator's random stream. Author the palette in **Prefab Mode**: all source alternatives remain available for editing there. The automatic scene preview does not run on prefab assets or temporary prefab-authoring scenes. **MapPropsGenerator makes its own choice with the map seed.** Generated trees already display that final choice in Edit Mode; inline alternatives that were not selected are removed from the generated instance. The shared root collider and authored model transforms are retained. External alternatives instantiate directly under Props. Compact packing, scene reconstruction and GPU instancing retain the selected model. ## Configure varied world objects On the map's **Prop Configs**, biome **Decoration** rules or the standalone helper: 1. Add a rule for each tree prefab or alternative palette. 2. Use the same **Surface prefix** and **Patch size** for trees competing at the same eligible position. 3. Enable **World object** (`IsWorldObject`) for these rules. 4. Set **Chance / weight (%)** using the existing `tilePercent` field. 5. Keep the existing overlap/layer, maximum-altitude and footprint settings as appropriate for the models, then regenerate. Matching world-object rules use two seeded rolls: - The **highest percentage** sets the chance of placing any object. - If placement succeeds, **all positive percentages** weight the model choice. For example: | Rule | Chance / weight | | --- | ---: | | Tree A | 80 | | Tree B | 50 | The group has **80% placement chance**. Among placed trees, A receives `80 / 130 = 61.5%` and B receives `50 / 130 = 38.5%`. Before footprint rejections, that means about 49.2% A, 30.8% B and 20% empty positions. This replaces the first-rule bias and cumulative 90% coverage of separate 80% then 50% rolls. Coverage and model choice use separate seed-derived streams. Adding another model without raising the highest percentage does not raise the density roll. The same seed, rules and terrain reproduce the positions, models, nested alternatives and random yaw. ## Matching and placement constraints Groups only include eligible world-object rules for the current surface and placement pass. Patch size 0 still aliases pass 1. The legacy color scan groups by its matching color instead of Prefix. Missing prefabs, empty palettes and zero/negative/non-finite percentages do not contribute. Finite percentages above 100 are treated as 100 during generation; reading the Inspector does not rewrite stored values. A successful density roll still has to pass protected-path, overlap, terrain footprint, slope and altitude checks. A rejected model does not trigger repeated rolls until something fits. Ordinary non-world rules keep their existing ordered selection. The world group is evaluated at its first matching rule, once per position/pass. Grass keeps its separate large-then-small planting passes. Use [Props Placement](PropsPlacement.md) for the complete rule Inspector and [Packed Map Content](PackedMapContent.md) for compact storage.