PCG Geometry Decals Documentation

PCG Geometry Decals is a Blueprint-only system that combines Unreal Engine’s Procedural Content Generation Framework with Geometry Scripting to enable direct placement of high-resolution geometry onto landscape surfaces. Each decal conforms to the terrain below, displaces its shape using a height map, blends its edges naturally, and can be baked into a Nanite-enabled static mesh for efficient runtime use. The system operates entirely within the Editor and does not require any third-party tools or dependencies.

Installation

Before using the system, ensure the required built-in plugins are active. These are included with Unreal Engine and must be manually enabled.

  1. Open the Plugins panel via Edit → Plugins.
  2. Enable the following plugins in the search bar:
    • Geometry Scripting
    • Procedural Content Generation (PCG)
    • PCG Geometry Script Interop
    • Modeling Tools Editor Mode
  3. Restart the Unreal Editor to apply plugin changes.

Basic Usage Instructions

To begin using the system:

  • Drag a BP_GeometryDecal_* actor from
    /Game/PCGGeometryDecals/Demo/Examples/ into your level.
    These examples are preconfigured with materials and height textures.

or

  • Subclass BP_GeometryDecal and assign your own material and height texture.

Next, adjust parameters in the Details panel such as:

  • Radius
  • Height Magnitude
  • Falloff (Mask Hardness)
  • UV Tiling
  • Displacement Resolution

When you're satisfied with the result:

  1. Select one or more decals.
  2. Right-click in the viewport.
  3. Navigate to Scripted Actor Actions → Bake to Static Meshes.
  4. In the popup dialog, enable Nanite if required.

This converts the editor-only decal into a runtime-ready Nanite static mesh.

Parameter Reference

Use these parameters to control decal shape, displacement, blending, and performance.

Property Description
Material Mesh material, applied during generation and after bake.
HeightTexture Heightmap texture for vertex displacement.
Radius Footprint size in world units.
HeightMagnitude Strength of vertical displacement.
HeightCenter Vertical midpoint of displacement.
HeightAdd Final Z-offset after displacement.
MaskHardness Edge softness of the displacement mask.
UVSize Auto-tiling size in cm (if auto UV is enabled).
Tessellation Mesh subdivision level for detail.
Resolution Internal bake texture resolution.
HeightChannel Channel from texture to sample displacement (RGBA = 0–3).
UVTiling Manual UV tiling (when auto-tiling is off).
bCalculateUVTiling Toggles auto UV tiling via UVSize.