View on Asset Store (opens in new tab)
Package details
- Latest version
- 1.0.0
- Last updated
- First released
- Unity version
- 6000.1.17 or later
- Package size
- 3.9 MB
- Files
- 291
- Favorites
- 3
- Views in the past week
- 10
Price tracking
- Last checked
- Tracked since
- Lowest recorded
- $38.50 on
Keywords
PPG - Procedural Placement Graph
Visual node-graph for procedural placement. 50+ nodes with BatchRendererGroup GPU instancing, Burst-compiled spatial culling, live preview, and attribute pipeline.
Affiliate link · Purchases support this site
Price history
Last 6 months
USDAsset preview
1 / 6
PPG - Procedural Placement Graph screenshot 1
About this asset
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.
From the publisher's Asset Store listing.
Technical details
- BatchRendererGroup (BRG) instancing mode: renders instances via GPU buffer upload with zero GameObject overhead — one draw call per mesh+material+grid cell
- Burst-compiled grid culling: per-cell AABB vs frustum test runs as an IJob on worker threads, with automatic shadow pass bypass
- Spatial grid partitioning: instances are split into configurable XZ cells (default 32m) for efficient frustum culling
- Multi-material submesh support: prefabs with multiple materials emit one draw command per submesh, sharing the same instance buffer
- LODGroup auto-extraction: LOD0 mesh/material automatically used for BRG rendering
- Automatic BRG fallback: incompatible prefabs (skinned mesh, missing materials) gracefully fall back to GameObject mode with diagnostic logging
- 50+ built-in nodes: generators, samplers, filters, transforms, attributes, instancers, spline, flow control
- 9 Burst/Jobs compiled operations: surface sampling, poisson disk, self-pruning, Lloyd relaxation, noise, distance, transforms, nearest-seed, grid culling
- Hash-based node output caching: only re-executes nodes whose inputs or settings changed
- Parameter override system: expose node fields to PPGComponent inspector for per-instance customization
- SubGraph composition for reusable placement patterns
- Unity Splines integration (SplineContainer binding, path-based sampling)
- Terrain integration: heightmap sampling, slope filtering, terrain layer density
- Live Scene preview with density/steepness/attribute color overlay and XRay toggle
- Binding system for scene object references (Terrain, Transform, SplineContainer, MeshFilter)
- Full Undo/Redo support for Generate and Cleanup operations
- Editor and Play Mode generation with automatic domain-reload recovery
- Requires Unity 6000.0+, Burst, Collections, Mathematics, Splines (auto-resolved via UPM)
- SRP-independent: works with URP, HDRP, and custom SRP (BRG requires SRP; Built-in RP not supported)
Compatibility
| Unity version | Built-in | URP | HDRP | Custom |
|---|---|---|---|---|
| 6000.1.17f1 | Not listed | Compatible | Compatible | Compatible |
As listed on the Asset Store.