Procedural Placement Graph (PPG) is a node-based framework for placing objects procedurally in your scenes — with GPU-accelerated rendering that scales to massive instance counts.
Build placement rules visually by connecting nodes in a graph editor. PPG handles generation, filtering, transformation, and instancing — all without writing code.
■ GPU-Instanced Rendering (BatchRendererGroup)
Set the Instancing Mode to BRG and your prefabs are rendered via Unity's BatchRendererGroup — no GameObjects created, minimal draw calls. Instances are automatically partitioned into spatial grid cells with per-cell frustum culling powered by a Burst-compiled job. Multi-material prefabs and LODGroup prefabs (LOD0) are supported out of the box.
■ Performance at Scale
- 10,000 instances → single-digit draw calls (vs 10,000 with GameObject mode)
- Grid-based spatial culling skips off-screen cells entirely
- Burst/Jobs compiled pipeline for sampling, filtering, relaxation, noise, and culling
- Hash-based node output caching for instant re-execution on partial graph changes
■ Flexible & Extensible
- 50+ built-in nodes: generators, filters, transforms, attributes, instancers, spline sampling, flow control
- Works with any prefab, any terrain, any scene scale
- Parameter overrides let one graph produce varied results per PPGComponent
- SubGraphs for reusable placement patterns
- Custom nodes via a simple C# interface
■ Artist-Friendly
- Live Scene preview with density, steepness, and attribute color modes
- Full Undo support for Generate/Cleanup
- Terrain integration: height sampling, slope filtering, splat-map density
- Unity Splines integration for path-based placement
- Designed for level designers and technical artists who want production-quality procedural placement with GPU-level performance.
Docs