Procedural Placement Tool
Getting Started
Install the Procedural Placement Tool and create your first scatter in under 5 minutes.
This guide walks you through installing the plugin and creating your first scatter. By the end, you will have instances placed across your terrain using the Procedural Placement Tool.
Prerequisites
- Unreal Engine 5.7
- A level with some terrain (landscape, static meshes, or BSP)
- At least one static mesh to scatter (e.g., a rock, tree, or grass clump)
Installation
- After purchasing, download the plugin ZIP from your account dashboard.
- Extract the ZIP into your project's
Plugins/folder so the structure isPlugins/ProceduralPlacement/ProceduralPlacement.uplugin. - Open your project in UE 5.7.
- Go to Edit > Plugins, search for "Procedural Placement", and check Enabled.
- Restart the editor.
Tutorial: Your First Scatter
Step 1: Place a Scatter Actor
- In the Place Actors panel, search for
ProceduralScatterActor - Drag it into your level viewport
- Position it above your terrain
Step 2: Size the Bounds
- Select the scatter actor
- In the Details panel, find Components > BoundsComponent
- Set the Box Extent to cover your target area (e.g.,
X=5000, Y=5000, Z=5000) - Or use the transform gizmo to scale the wireframe box in the viewport
Step 3: Add a Layer
- In Details, find Placement > Rules > Inline Layers
- Click the + button to add a new layer
- Expand the layer and configure:
- Layer Name: "My Rocks"
- Meshes: Click + and assign a static mesh
- Density: 0.5
- Min Spacing: 100
Step 4: Generate
- Scroll down to the bottom of the Details panel
- Click the Generate button
- Instances appear in the viewport
Step 5: Iterate
- Change
Densityand click Generate again - Click Randomize Seed for a different arrangement
- Click Clear to remove all instances
- Add more layers for variety
Common Settings Cheat Sheet
| Setting | Typical Range | Notes |
|---|---|---|
| Density | 0.01 - 5.0 | Instances per square meter. Trees around 0.05, grass around 2.0 |
| Min Spacing | 0 - 1000 | Centimeters. Trees around 400, bushes around 150, grass around 20 |
| Min Scale | 0.5 - 1.0 | Smallest instance scale |
| Max Scale | 1.0 - 2.0 | Largest instance scale |
| Min Slope | 0 | Degrees. 0 = flat |
| Max Slope | 30 - 90 | Degrees. 30 = gentle hills, 90 = vertical |
| Noise Scale | 200 - 2000 | Perlin noise frequency. Larger = broader patterns |
| Scatter Width | 100 - 1000 | Spline only. Band width in cm |
| Cluster Radius | 50 - 300 | Cluster spread distance in cm |
| Cluster Spacing | 200 - 1000 | Distance between cluster centers in cm |
Troubleshooting
No instances appear
- Check that the
Meshesarray has at least one entry with a valid mesh - Verify
Density > 0andbEnabled = true - Make sure the bounds box overlaps terrain
- Check
TraceHeightis high enough to cover your terrain elevation - Look at Generation Statistics for filter breakdown
Too few instances
- Increase
Density - Reduce
MinSpacing - Widen slope/height ranges
- Check that biome volumes cover the area
Instances floating or underground
- Adjust
HeightOffset(positive = up, negative = down) - Ensure terrain has collision enabled for traces
Performance is slow
- Reduce
Densityor increaseMinSpacing - Use HISM (StaticMesh mode) instead of BlueprintActor for large counts
- Reduce the scatter bounds to cover less area
- Use fewer layers with simpler meshes
Instances clip into buildings
- Place
ExclusionZoneVolumeactors around buildings - Enable
Check Actor Collisionwith appropriate radius - Use layer-specific exclusion to block only large objects
Next Steps
- Configuration -- All layer settings in detail
- Density Modes -- Choose how instances are distributed
- Biome Zones -- Define distinct vegetation regions
- Spline Scatter -- Scatter along paths
- Presets -- Start with built-in presets
- Examples -- Practical recipes for common scenarios