CyberMax
Home › Use cases › Fernscatter

Fill a Godot 4 outdoor level with grass and trees by mask

For: games

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

  1. Paint a vertex-colour channel on your terrain mesh in Blender (or use a mask texture).
  2. Add one Fernscatter3D per layer: grass, flowers, rocks, trees.
  3. Keep trees off cliffs with a slope range and grass out of water with a height range.
  4. Draw a Path3D around the village or road and set it to exclude.
  5. 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.

Fernscatter demo island in Godot 4 with grass, flowers, rocks and trees
Real screenshot: four layers, 55,610 instances, one Bake each.

What is in fernscatter-1.1.0.zip

PartFilesNotes
addons/fernscatter/ (Fernscatter3D node + FernscatterVariant resource)11pure GDScript; main script 17.8 KB
fernscatter_demo/ (example island scene)54 layers: grass, flowers, rocks, trees
README, LICENSE2every setting explained
Whole download18 files0.40 MB zip
Demo island after Bake55,610 instances211 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