finds.dev← search

// the find

HungryProton/scatter

★ 3,000 · GDScript · MIT · updated Sep 2026

Godot engine addon to randomly fill an area with props or other scenes. Mirror of https://codeberg.org/hungryproton/proton_scatter

A Godot 4 addon that procedurally scatters props, meshes, or scenes across a defined area using a composable modifier stack — think Blender's modifier panel but for placing rocks, grass, or bricks in a level. Useful for anyone building 3D environments in Godot who doesn't want to hand-place thousands of instances.

The modifier-stack design is genuinely well thought out — you chain primitives (grid/random/Poisson placement, along-edge, project-on-geometry, clusterize, relax) and each step is independent and re-orderable, which is a much better mental model than a single monolithic scatter node. It ships a compute shader for the relax modifier, so point distribution smoothing runs on GPU instead of blocking the editor thread. There's a real caching system (ScatterCache) to bake results and avoid runtime regeneration cost, with its own inspector panel. Documentation is accessible directly from the node in the editor, which lowers the friction of actually learning the tool instead of tab-switching to a browser.

No automated tests anywhere in the tree — for a system with this many interacting transform modifiers, correctness relies entirely on manual testing and user bug reports. It's Godot 4 only and a full rewrite from the Godot 3 branch, so anyone on an older project is stuck on an unmaintained fork or has to redo their scatter setups from scratch. The repo bundles its demo assets (glb models, textures, a .blend source file) directly in the main tree rather than as a separate release download, which bloats every clone for people who just want the addon code. Being GDScript-only also means performance is capped by whatever Godot's interpreter/JIT can do — fine for editor-time baking, less fine if anyone tries to push this into runtime procedural generation at scale.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →