Forest Basic
Updated May 25, 2026
The Forest-Basic system is a simple PCG forest graph. It
is separate from the advanced biome generation toolkit and focuses only on
basic landscape point generation, exclusion, density, and mesh or actor
spawning.
For shared setup
guidance, see the Migration
Guide and Integration
Guide. Use the System Atlas to look up
functions, variables, events, components, and ownership references. Use this
page for Forest-Basic-specific graph behavior and editing notes.
Related Videos
Some videos may have been recorded before V4. The same
principles still apply, but asset names, component names, and folder locations
may differ. Treat the current written documentation and V4 names as the source
of truth.
Basic PCG Forest Walkthrough Play
System Principles
The graph creates points on a landscape, filters or
excludes unwanted points, and then spawns static meshes or actors on the
remaining points.
The general flow is:
- Create points on the landscape.
- Assign categories and size-based bounds for trees
and other spawned content. - Exclude points inside water or exclusion areas.
- Filter the merged points back into the correct
categories. - Spawn the matching static meshes or actors in the
world.
PCG_SubGraph_DensityPropegation
PCG_SubGraph_DensityPropegation filters points across three density ranges. The ranges are set through the
subgraph parameter overrides.

PCG_SubGraph_Exclude
PCG_SubGraph_Exclude
excludes water bodies, using Water
Body Ocean by default, and any area with the PCG_Exlude tag. The
excluded area can come from colliders or meshes.

Instead of relying only on tags, which are merged in the
Merge node, the graph uses custom attributes to determine which point belongs
to which category. For example, PCG_SubGraph_Trees
generates points with the categories Tree_Large,
Tree_Medium,
and Tree_Small.
After the tree points are merged and self-pruned with the
other points, point filters can separate each tree category again and spawn the
correct mesh.

Spawning Actors and Static Meshes
After all points are generated, the graph spawns the
required actors or static meshes on those points. Density propagation controls
the separation between spawned actors or meshes.


Replacing Meshes
The system includes example meshes. Replace them by
changing the mesh entries in the static mesh spawners.

If you prefer to spawn actors, replace the static mesh
spawner nodes with Spawn Actor nodes.

To use the graph, drag the asset into a level from the
Content Browser or Content Drawer. This automatically creates a PCG volume. You
can also place a PCG volume manually and assign the PCG graph on the PCG
component.
Before resizing a PCG volume, press Cleanup inside the
PCG component. This prevents the graph from regenerating while you scale the
volume.

Replacing a Tree Mesh
When replacing a tree, first set the size that should be
excluded around that tree. This prevents spawned meshes from overlapping each
other. Adjust the Extents
variable in PCG_SubGraph_Trees
based on the preferred exclusion size.

After setting the extents, change the actor or static
mesh spawned in the trees section of PCG_Forest.

The same process applies to other static meshes.
Adding New PCG Content
To add new PCG-spawned content, add a surface sampler and
configure it for the new content type. Then create a subgraph for the specific
meshes. You can copy an existing subgraph and adjust it, then connect the new
subgraph to the Merge node.
On the right side of the graph, drag from the To Point
node to get the generated points. Create a point filter using the name assigned
in the subgraph, then use PCG_SubGraph_DensityPropegation
to spawn actors based on density.
Changing Density
To change the density of spawned objects, adjust Points Per Squared Meter
in the surface sampler.
