🌿 Groundcover by CyberMax
All CyberMax tools
Free download · Nature Pack and Studio licence available

Paint where things grow. Press Bake. Done.

Groundcover scatters grass, flowers, rocks and trees over your Godot 4 terrain, and lets you control exactly where they go with vertex colors, a mask texture, slope, height and Path3D areas. Results are baked into chunked MultiMeshes, so they cost almost nothing at runtime.

Download groundcover-1.0.0.zip (free)
Godot 4.5 · 4.6 · 4.7 · Forward+, Mobile, Compatibility · Pure GDScript, every export platform
Groundcover: mask-driven scatter for Godot 4.5+

Why Groundcover

Mask-first

Combine a vertex-color channel, a mask texture (UV or UV2), slope, height and Path3D include/exclude areas. Paint a meadow in Blender, keep trees off cliffs and grass out of the water.

Deterministic

Same seed and settings give the exact same layout every time. Re-seed with one click for a new one.

Fast and light

The demo island is 55,610 instances in chunked MultiMeshes instead of scene nodes; off-screen chunks are culled and dense layers can fade out.

Editor-friendly

Bake, Clear and Re-seed buttons in the inspector, full undo/redo, results saved in the scene.

Scriptable

bake(), clear() and compute_instances() work at runtime for procedural levels.

Weighted variants

Per-variant weight, scale range, align-to-normal, random yaw/tilt, offset, shadows and material override; minimum spacing and instance cap.

Screenshots

Island with four scatter layers
Four layers, 55,610 instances, one Bake button each.
Groundcover inspector with Bake, Clear and Re-seed
Everything in the inspector: Bake, Clear, Re-seed, with undo.
Vertex-color masks and an exclude path
Vertex-color masks place grass and flowers; an Exclude path keeps the clearing clear.
Slope and height masks
Slope and height masks: trees on flat ground, rocks on slopes, nothing in the water.

Install

  1. Download groundcover-1.0.0.zip and unzip it into your project folder. You get addons/groundcover and groundcover_demo.
  2. Project → Project Settings → Plugins: enable Groundcover.
  3. Select your terrain (any MeshInstance3D) and add a child Groundcover3D node.
  4. In the inspector, open Variants, add a GroundcoverVariant and set its Mesh (a grass tuft, a rock…).
  5. Press Bake. Change settings and bake again; Ctrl+Z undoes a bake.

Want to see it first? Open groundcover_demo/example_scene.tscn: an island with grass, flowers, rocks and trees, built from primitives. Press Bake on each layer.

$Groundcover3D.seed = randi()
$Groundcover3D.bake()                              # replace baked chunks
var placements = $Groundcover3D.compute_instances()  # [{variant, transform}]

Tested with a 20-case headless test suite and a clean-install smoke test (fresh project + this zip) on Godot 4.5; earlier runs also covered 4.6.2 and 4.7.

Free addon, paid extras

This free edition is the complete 1.0 addon: use it in any number of projects, commercial games included (see LICENSE.txt; you can ship it inside your games but not re-share it as a standalone tool).

Checkout, tax and receipts by Polar.sh. A Pro edition with viewport brush painting and heightmap-terrain support is planned.

More from CyberMax

Cutout

Remove image backgrounds in the browser, no upload: transparent PNGs for sprites, icons and store art. Free.

Honeyfold · Sumbloom

Our browser games: an idle bee game you can finish, and a daily number puzzle.

Keyfern

Paid API: keyword ideas from Google, YouTube and Amazon autocomplete, handy for naming and pitching your game. Pay per keyword.