Fill a Godot 4 outdoor level with grass and trees by mask
Hand-placing foliage does not scale past a small scene, and per-node instances slow the editor and the game. Fernscatter bakes each layer into chunked MultiMeshes from masks you control.
How games teams use Fernscatter
- Paint a vertex-colour channel on your terrain mesh in Blender (or use a mask texture).
- Add one Fernscatter3D per layer: grass, flowers, rocks, trees.
- Keep trees off cliffs with a slope range and grass out of water with a height range.
- Draw a Path3D around the village or road and set it to exclude.
- Bake; re-seed until the layout looks right, then commit the scene.
Results are saved in the scene with undo/redo, and bake(), clear() and compute_instances() also work at runtime for procedural levels.

What is in fernscatter-1.1.0.zip
| Part | Files | Notes |
|---|---|---|
| addons/fernscatter/ (Fernscatter3D node + FernscatterVariant resource) | 11 | pure GDScript; main script 17.8 KB |
| fernscatter_demo/ (example island scene) | 5 | 4 layers: grass, flowers, rocks, trees |
| README, LICENSE | 2 | every setting explained |
| Whole download | 18 files | 0.40 MB zip |
| Demo island after Bake | 55,610 instances | 211 MultiMesh chunks |
Source: File list of the Fernscatter 1.1.0 download, counted 10 Oct 2026; instance and chunk counts from the bundled demo island.
FAQ
Does it work with the Compatibility renderer?
Yes: Forward+, Mobile and Compatibility.
Does it need C++ or GDExtension?
No. It is pure GDScript.
Fernscatter: full guide with prices and alternatives · All use cases · Store