Quick answer: Right-click each pin and Inspect Data. Find the first zero-output node. Common culprits: bounds outside landscape, filter rejecting everything, or seed pin unbound.
A forest scene uses PCG to scatter trees across a landscape. After tweaking a filter, no trees spawn. The graph rebuilt without errors but the output pin reports 0 points.
Inspect Data Per Pin
Open the PCG graph asset. Right-click a node’s output pin → Inspect Data. Inspector panel shows:
- Number of points.
- Attributes attached (Density, Color, etc.).
- Bounds.
Trace from input (e.g., Surface Sampler) forward. Note where count drops to zero.
Common Drop-Off Points
- Density Filter: if Min Density is too high, all points filtered. Check inputs have Density attribute set.
- Bounds: PCG component’s volume might be smaller than expected after a transform.
- Attribute Filter: predicate evaluating to false for all points.
- Sampler Steps: Surface Sampler Looseness too tight = few points.
Force Rebuild
Stale cache can persist. In the level: select PCG component → Generate. Or in the graph: Refresh All. For volume changes, sometimes a clean rebuild is needed:
pcg.Generate(true /* force regeneration */);
Seed Pin Wiring
Many PCG nodes accept a Seed pin for deterministic randomness. Disconnected = uses default = same value every run. If your filter relies on randomized density, plug a Random Stream node into Seed.
Verify in PIE
Play in editor. Trees instantiate. ProfileGPU shows ISM/HISM components rendering. Toggle PCG component disabled — trees disappear; re-enable — trees return.
Verifying
Re-run the graph. Output node reports non-zero points. Visually trees appear distributed correctly. Performance acceptable for instance count.
“Inspect Data is your friend. PCG graphs are pipelines; trace input to output to find the choke.”
For complex graphs, name your pins via Tags — Inspect Data shows the tag name, faster to identify branches.