Terraformer and Placement Actors
Every property, button, and default on the Terraformer, Terraform Sector, Agentic Biome Region, Terraform Excluder, and Road Component actors
Terraformer and placement actors
Five classes carry placement in Agentic Biomes: the Terraformer that builds a level, the Terraform Sector cells of the grid route, the Agentic Biome Region actors that BiomeCore generates from, the Terraform Excluder zones, and the Road Component. This page lists every Details-panel property and button on them, with the default and what it does. For the workflow, see Placement.
Names are as Details shows them, with the C++ name in backticks. Defaults are the values declared in the plugin headers. Buttons report in the Output Log under LogAgenticBiomes; none opens a dialog. The reports from Validate Biome Palette, Audit Biome Map, Verify Biome Map Regions, Regenerate Edited Area, and the successful runs of Explain Biome Map Support and Explain Species are logged. A few short refusal sentences from Build Spline Biomes, Explain Biome Map Support, and Explain Species are only returned, so Details shows nothing for them. PCG generation is asynchronous, so a button can return before generation finishes.
Not listed: private bookkeeping that is not editable or visible in Details, such as a sector's lists of spawned volumes, the Terraformer's cached terrain context, and a sector's recovered half-extent.
Terraformer
AAgenticTerraformer, displayed as Terraformer. Use one per level: the agent toolsets refuse a level with none or with several. It has no terrain pointer: it finds the Landscape or MeshTerrain itself each time it builds, using Terrain Backend. Its own location and scale are not used as bounds.
Enumerations
| Enumeration | Values |
|---|---|
EAgenticBiomePlacementMode (Placement Mode) | Grid, BiomeMap, Hybrid |
EAgenticTerrainBackend (Terrain Backend) | Auto, Landscape, MeshTerrain |
EAgenticBiomeBuildMethod (Last Build Method) | Unknown, Grid, BiomeMap, Volume |
Placement and terrain properties
Category AgenticTerraform.
| Property | Default | Meaning |
|---|---|---|
Grid Divisions (GridDivisions) | 4 by 4 | Sectors along X and along Y that Auto Grid creates. Minimum 1 on each axis. |
Placement Mode (PlacementMode) | Grid | Which route Build All runs. Grid: sectors only. BiomeMap: the painted map only. Hybrid: both. The biome-map properties below are greyed out while this is Grid. |
Terrain Backend (TerrainBackend) | Auto | Auto scans the level and refuses to guess when it finds both backends or neither. Landscape or MeshTerrain skips detection and is used as given. |
Biome map properties
Category AgenticTerraform → Biome Map. Every property here is greyed out while Placement Mode is Grid. Properties marked advanced sit behind the category's advanced arrow. The partition properties are also greyed out until Biome Map Partitioned is on.
| Property | Default | Meaning |
|---|---|---|
Biome Map (BiomeMap) | none | Colour texture that decides which biome owns each part of the terrain. It is stretched over the terrain's XY bounds, with column 0 on the minimum-X edge and row 0 on the minimum-Y edge. Must be uncompressed with sRGB off and no mips. Pure black means no biome. |
Biome Map Biomes (BiomeMapBiomes) | empty | The palette: biome assets eligible to claim colours from the map. Build Biome Volumes also reads this array. Array order matters when two colours overlap within tolerance: the first match wins. |
Biome Color Tolerance (BiomeColorTolerance) | 0.01 | Half-width of the per-channel RGB match box. Range 0.001 to 0.25. Alpha is ignored. Keep it below the palette's smallest channel separation. |
Biome Map Texel Size (BiomeMapTexelSize) | 800 cm | Size of one biome-cache texel. Minimum 50. Rounded to a whole number of centimetres for the cache. |
Biome Map Attach Offline Assets (bBiomeMapAttachOfflineAssets) | on | Copy each biome's offline species rows (trees, rocks, props) onto its region. Off: regions carry runtime ground cover only. Runtime entries are always attached. |
Biome Map Z Extents (BiomeMapZExtents) | 1600 cm | Advanced. Vertical half-extent of the biome cache. Minimum 100. Raise it when terrain relief exceeds this. |
Biome Map Snap To Surface (bBiomeMapSnapToSurface) | on | Advanced. Projects cache points onto the terrain surface so scatter does not float. |
Biome Map Blending Range (BiomeMapBlendingRange) | 1000 cm | Advanced. Distance over which a painted boundary is softened. Minimum 0. |
Biome Map Blending Noise (BiomeMapBlendingNoise) | 1 | Advanced. Breaks up the boundary falloff so blended edges are not straight lines. Range 0 to 1. |
Biome Map Blending Density (BiomeMapBlendingDensity) | 1 | Advanced. Density multiplier across the blended boundary. Range 0 to 1. |
Bound Regions To Biome Extent (bBoundRegionsToBiomeExtent) | off | Advanced. Sizes each map region to the bounding box of its colour plus a derived scatter margin instead of the whole terrain. A biome whose margin cannot be derived stays map-wide. Off by default. |
Biome Map Partitioned (bBiomeMapPartitioned) | off | Advanced. Shards each region's PCG component across a grid of cells so a regenerate re-runs only dirtied cells. Adds one partition actor per occupied cell to the level, and the first generate after switching is a full one. Works in ordinary levels, not only World Partition levels. |
Biome Map Partition Grid Size (BiomeMapPartitionGridSize) | 40000 cm | Advanced. Partition cell size. Range 400 to 419,430,400. One value per world. Used as given, not rounded to a power of two. A grid that would create more than 4,096 partition cells over one component's bounds is refused with a NOT partitioned error, and that component stays unpartitioned. |
Biome Map Edit Center (BiomeMapEditCenter) | 0, 0, 0 | Advanced. World-space centre that Regenerate Edited Area re-runs. |
Biome Map Edit Radius (BiomeMapEditRadius) | 40000 cm | Advanced. Half-extent of the box (not a sphere) that Regenerate Edited Area re-runs. Minimum 1. The default is one partition cell. |
Baked Biome Map Resolution (BakedBiomeMapResolution) | 256 | Advanced. Square resolution that Bake Banded Biome Map writes. Range 8 to 4096. |
Build buttons copy the cache, blending, and partition values above onto every region they spawn. Changing a value on the Terraformer changes nothing until the next build. Regenerate Edited Area also notices when a region's copy no longer matches and then invalidates that whole region.
Status properties
Read-only, category AgenticTerraform → Status. All but Resolved Terrain Backend, Last Build Method, and Biome Bake Completion Counter are advanced. The sprite sits under Components.
| Property | Meaning |
|---|---|
Resolved Terrain Backend (ResolvedTerrainBackend) | What Auto resolved to on the last build. Auto until a build has resolved terrain. |
Landscape Center (LandscapeCenter), Landscape Extent (LandscapeExtent) | The resolved terrain's centre and half-extent, on either backend. Filled by build operations, so they read 0 before the first build. |
Sectors (Sectors) | Sectors this Terraformer owns. Rediscovered from the level when the list is stale. |
Spawned Biome Core Actor (SpawnedBiomeCoreActor), Spawned Biome Core Runtime Actor (SpawnedBiomeCoreRuntimeActor) | The BiomeCore orchestration actors the build spawned. Transient: empty after a reload until a build or regenerate finds them again. |
Spawned Biome Map Volumes (SpawnedBiomeMapVolumes) | Regions this Terraformer owns: biome-map regions, box regions from Build Biome Volumes, and adopted spline regions. |
Last Build Method (LastBuildMethod) | Which builder last succeeded: Grid, BiomeMap, or Volume. Unknown after any clear, and after a build that bailed out. |
Biome Bake Completion Counter (BiomeBakeCompletionCounter) | Advances by one when a Build Biome Map, Build Biome Volumes, Build Spline Biomes, or Regenerate Edited Area bake has finished its PCG tasks. Transient: counts bakes in the current editor session. |
SpriteComponent | The billboard icon. |
Grid buttons
Category AgenticTerraform.
| Button | What it does |
|---|---|
Auto Grid (AutoGrid) | Runs Clear Grid, resolves terrain, then spawns Grid Divisions X by Y sectors that tile the terrain's XY bounds exactly. Sectors are labelled Sector_X_Y in the Outliner folder AgenticTerraform/Sectors. Ensures the BiomeCore actor exists. Logs a warning and stops if a division count is below 1, and an error if terrain cannot be resolved. |
Clear Grid (ClearGrid) | Runs Clear All, then destroys every sector and the biome assignments on them. |
Build All (BuildAll) | Resolves terrain, then runs the route in Placement Mode. Grid: every sector creates its volumes and generates, then BiomeCore aggregates. BiomeMap: the Build Biome Map path only. Hybrid: sectors first, then the map. Stamps Last Build Method; an empty result logs a warning and stamps nothing. |
Clear All (ClearAll) | Destroys the BiomeCore and BiomeCore runtime actors, clears every sector's volumes and runtime texture regions (the sectors stay), then runs Clear Biome Map. |
Bake All Textures (BakeAllTextures) | Runs Bake Runtime Textures on every sector, then regenerates BiomeCore. Landscape paint layers only; see the sector entry below. On a level with no sectors it bakes nothing and only regenerates BiomeCore. |
Biome map buttons
Category AgenticTerraform → Biome Map.
| Button | What it does |
|---|---|
Build Biome Map (BuildBiomeMap) | Resolves terrain fresh, destroys the regions the Terraformer spawned earlier, reads Biome Map, and spawns one region per palette biome whose colour appears in the map, labelled BiomeMap_BiomeAssetName in folder AgenticTerraform/BiomeMap. Each region covers the whole terrain unless Bound Regions To Biome Extent is on. Adopts spline regions, ensures the BiomeCore actors, then generates regions and aggregates asynchronously. Biomes absent from the map spawn nothing. |
Clear Biome Map (ClearBiomeMap) | Resets Last Build Method, then cancels and destroys every region the Terraformer spawned, from either Build Biome Map or Build Biome Volumes. Spline regions are never destroyed. |
Build Biome Volumes (BuildBiomeVolumes) | Resolves terrain, destroys earlier regions, and places one box region per biome in Biome Map Biomes that has species or runtime cover, tiling the terrain in a near-square grid. Needs no Biome Map. Regions are labelled BiomeVolume_BiomeAssetName in folder AgenticTerraform/BiomeVolumes. Adopts spline regions, then generates and aggregates asynchronously. |
Validate Biome Palette (ValidateBiomePalette) | Checks the palette. Errors: an empty array slot, a colour within tolerance of black, two colours whose largest channel difference is at most the tolerance, and a Biome Map with sRGB on. Warnings: two biomes sharing a Biome Name, a biome with no species and no runtime cover, a map whose compression is not TC_VectorDisplacementmap or HDR, a map that generates mips, and no map assigned. Logs at Error, Warning, or Log level by the worst finding. |
Audit Biome Map (AuditBiomeMap) | Read-only. Counts texels per palette entry (first match wins), texels that match black (background), and texels that match nothing (unclaimed). The metres-per-texel figure uses Landscape Extent, which reads 0 before the first build. |
Bake Banded Biome Map (BakeBandedBiomeMap) | Writes a square texture of horizontal bands, one per palette entry in array order, from low Y to high Y, and assigns it to Biome Map. Resolution is Baked Biome Map Resolution. The texture is named T_BiomeMap_ plus the Terraformer's object name, is saved in an AT_Generated folder under the project's content, and is uncompressed with sRGB off, no mips, nearest filtering, and clamped addressing. An empty palette logs a warning and writes nothing. |
Verify Biome Map Regions (VerifyBiomeMapRegions) | Read-only PASS or FAIL over the regions the Terraformer owns, from their generated cache points. See the checks below. |
Explain Biome Map Support (ExplainBiomeMapSupport) | Read-only report, without spawning anything. Per claiming biome: claim box, derived scatter margin, the box Bound Regions To Biome Extent would use, and BOUNDABLE or MAP-WIDE. The header reads PASS when every margin resolved and PARTIAL otherwise. |
Regenerate Edited Area (RegenerateEditedArea) | Incremental rebuild of the area set by Biome Map Edit Center and Biome Map Edit Radius. See the section below. |
Build Spline Biomes (BuildSplineBiomes) | Adopts every Spline-shaped region that has a Biome, then force-regenerates every region the Terraformer owns and aggregates BiomeCore. A spline region with no biome is skipped with a warning naming it. Its one-line result is returned, not logged: the log shows the warning and the aggregation lines. |
Explain Species (ExplainSpecies) | Read-only funnel report per region: cache points offered, scatter output per tag, and instances placed per mesh with their Z ranges. Flags a mesh whose placed height stops more than 200 cm below the cache. Use it when Verify passes but the level looks empty. |
Verify Biome Map Regions checks
The report starts VerifyBiomeMapRegions: PASS or FAIL, with the region count, cache points, distinct cells, and texel size. A cell is one texel of the cache lattice, Biome Map Texel Size wide. It fails when any of these hold.
| Check | Failure text, paraphrased |
|---|---|
| At least one region | "No biome-map regions found. Run BuildBiomeMap() first." |
| Every region has cache points | A region "produced an EMPTY biome cache": generation has not finished (re-run), or its colour never matched (run Validate Biome Palette; check the texture is uncompressed with sRGB off). |
| No two regions claim a cell | Cells "claimed by MORE THAN ONE region", with the first collision named. Check the tolerance against the palette's minimum channel separation. |
| Cell accounting adds up | "Cell accounting inconsistent": points differ from distinct cells plus collisions. Surplus inside one region means the cache is finer than the cell or overlapping partition cells emitted a texel twice. |
Spline regions own no cells. Their points are reported on a separate OVERLAY line and never trigger the disjoint-cell check. Each non-empty region also gets a ZSPAN line, and each region that owns cells a DENSE line (the centre of its densest owned patch). A PASS says the cache is correct. It does not say anything was placed.
Partitioned regeneration
Regenerate Edited Area dirties only the partition cells that a local edit can have changed and re-aggregates the BiomeCore actors. Each region's invalidation box is the edit box grown by that biome's scatter margin. A region is invalidated whole when its biome's species rows or runtime entries changed, or when a bake setting changed (the biome's name, colour, or priority, tolerance, texel size, Z extents, snap, blending, partition size, or the support margin). A margin that cannot be derived does not invalidate the region: it makes the call refuse.
It refuses, changing nothing, and logs RegenerateBiomeMapArea: REFUSED followed by the reason, when any of these hold: Biome Map Partitioned is off; terrain cannot be resolved, or its backend or bounds changed since the build; there are no regions; Biome Map is unassigned or unreadable; a region was projected from a different texture asset than the current Biome Map; a painted colour has no region, or a region's colour is no longer in the map; a claim has grown outside its region's box; a region's scatter margin cannot be derived, or its saved sampling domain or margin is missing or changed; a region or BiomeCore actor is not partitioned, has never generated, or has generation in flight or no loaded cells; a region's source biome cannot be loaded. A level with a spline region is refused because that region is never partitioned. A level built by Build Biome Volumes is refused because its regions carry no colour map to match against Biome Map. Most refusals tell you to run Build Biome Map, and the combined blocker list ends by telling you to run it to bring the level back to a state an incremental edit can work on.
Reimporting the same texture asset is the supported edit. Pointing Biome Map at a different asset needs Build Biome Map. Completion is Biome Bake Completion Counter advancing, with the log line RegenerateBiomeMapArea: BAKE COMPLETE.
Blueprint-callable functions
Callable from Blueprint; not Details buttons.
| Function | What it does |
|---|---|
EnsureBiomeCoreExists | Spawns the BiomeCore actor, labelled BiomeCore_Auto, sized to the terrain, if none exists. Logs an error naming the missing class when the BiomeCore plugin is not enabled. |
EnsureBiomeCoreRuntimeExists | Spawns the BiomeCore runtime actor, labelled BiomeCoreRuntime_Auto, only when some reachable biome has runtime ground cover. |
GatherOwnedSectors | Rediscovers this Terraformer's sectors from the level and sorts them by grid coordinate. |
GetBiomeCoreActor | Returns the BiomeCore actor, or null. |
RegenerateBiomeMapArea(World Center, World Radius) | The scripted form of Regenerate Edited Area: same refusals, same report, with the radius as a box half-extent in centimetres. Refuses a radius that is not positive. |
Terraform Sector
AAgenticTerraformSector, displayed as Terraform Sector. One cell of the grid route, spawned by Auto Grid. Each biome in its Biomes array becomes one box region covering the whole cell.
Properties
| Property | Default | Meaning |
|---|---|---|
Biomes (Biomes) | empty | Biome assets for this cell. Null entries are skipped. With none assigned, Create Volumes logs a warning and spawns nothing. |
Grid Coord (GridCoord) | 0, 0 | Advanced, read-only. The cell's grid index, set by Auto Grid. |
BoundsComponent | box | Shows the cell as a wireframe box, inset by 50 cm on X and Y from the true cell so neighbours do not overlap. Default half-extent 10000, 10000, 5000 cm until Auto Grid sets it. |
SpriteComponent | icon | Editor billboard. |
Buttons
Category AgenticTerraform. All are also Blueprint-callable.
| Button | What it does |
|---|---|
Create Volumes (CreateVolumes) | Clears this sector's volumes, ensures the BiomeCore actors exist, then spawns one hidden Agentic Biome Region per biome, with its box set to the whole cell and the biome applied with offline rows. Does not generate. Labels are Vol_BiomeAssetName_X_Y in folder AgenticTerraform/ManagedVolumes. |
Clear Volumes (ClearVolumes) | Runs Clear Biomes, then destroys the sector's regions. |
Generate Biomes (GenerateBiomes) | Always runs Create Volumes again to pick up changes, generates PCG on each region, then triggers BiomeCore and BiomeCore runtime generation through the Terraformer. |
Clear Biomes (ClearBiomes) | Cleans the PCG output of the sector's regions and keeps the regions. |
Clear All (ClearAll) | Clear Runtime Textures, then Clear Volumes. |
Bake Runtime Textures (BakeRuntimeTextures) | For each biome that has runtime cover and a Landscape Layer Name, samples that Landscape paint layer into a 64 by 64 mask over the cell (a texel counts as painted above weight 0.1), saves it as T_Mask_BiomeAssetName_X_Y in an AT_Generated folder under the project's content, spawns a texture region labelled RTVol_BiomeAssetName_X_Y that carries runtime ground cover only, then regenerates BiomeCore. Landscape only: on MeshTerrain every texel reads as off-terrain, and the log says no terrain lies under the sector or the layer is unreadable on that backend. A layer with no painted area in the cell is skipped with a warning. |
Clear Runtime Textures (ClearRuntimeTextures) | Destroys the sector's texture regions. |
GetSpawnedVolumeCount is Blueprint-pure and returns how many box regions the sector holds. Texture regions from Bake Runtime Textures are not counted.
Agentic Biome Region
AAgenticBiomeRegion, displayed as Agentic Biome Region. The actor BiomeCore finds by its PCG_BiomeActor tag and generates from. The Terraformer and sectors spawn these; you place one by hand for a spline region. A region has no buttons.
Details groups the region's properties by category. Terraformer-spawned regions have their cache and blending fields overwritten by the Terraformer on every build, except Spline regions, whose values are yours.
Biome
| Property | Default | Meaning |
|---|---|---|
Enabled (Enabled) | on | Whether the biome is enabled. BiomeCore reads it by name, and the region carries the Enabled actor tag while it is on. |
Default Definition (DefaultDefinition) | empty | Name, colour, and priority, copied from the biome asset's definition. BiomeCore reads the region's identity here. |
Definition (Definition) | none | Left null by design: identity comes from Default Definition. The property exists because BiomeCore reads it by name. |
Assets (Assets) | empty | Left empty by design: the species live inline in Local Assets. The property exists because BiomeCore reads it by name. |
Local Assets (LocalAssets) | empty | The biome's offline species rows, copied inline. Filled by applying a biome; hand edits are overwritten on the next apply. |
Runtime Assets (RuntimeAssets) | empty | Runtime ground-cover templates copied from the biome's runtime entries for the resolved backend. |
Shape (Shape) | Volume | Volume or Spline. A third value, Texture, is hidden and is implied by assigning Biome Texture. Spline wins over a stray texture. |
Biome (Biome) | none | The biome this region carries. Assigning it in Details applies it at once: identity, rows, runtime scatter, and cache graph. |
Changing Shape to Spline on a region with no spline points creates a square of four curved points, 50 m on a side, centred on the actor, then refits the box. Changing it back to Volume clears the spline points and resets the box to its default.
Provenance
Read-only, category Biome → Provenance. Written when a biome is applied, so a built level records what built it.
| Property | Meaning |
|---|---|
Source Biome (SourceBiome) | The biome asset last applied. |
Spawned From Revision (SpawnedFromRevision) | The biome's revision counter at that moment, for reading. |
Applied Rows Hash (AppliedRowsHash) | Hash of the species rows applied. This is what decides a region is stale, not the revision. Empty when offline rows are not attached. |
Applied Runtime Hash (AppliedRuntimeHash) | The same for runtime entries serving the region's backend. |
Cache Degradation (CacheDegradation) | Empty when healthy. Otherwise names what the region lost, for example a missing MeshTerrain cache graph, a missing absolute-projection graph, a spline that cannot generate, or an enum value that failed to resolve. |
Sampling Domain Bounds (SamplingDomainBounds) | The full terrain bounds the region was built against, never the narrowed claim or a partition cell. |
Scatter Support Resolved (bScatterSupportResolved) | True only when the scatter reach was proven. |
Scatter Support Margin Cm (ScatterSupportMarginCm) | The proven reach in centimetres, 0 until resolved. |
Scatter Support Source (ScatterSupportSource) | What set the margin, or an UNRESOLVED: reason. |
Biome texture
Category Biome Texture. Used by map regions, and partly by box regions. A Spline region ignores the Terraformer's values for these.
| Property | Default | Meaning |
|---|---|---|
Biome Texture (BiomeTexture) | none | Colour map that delimits a map region. Empty for box regions. Assigning it makes the region texture-shaped. |
Use Absolute Texture Projection (bUseAbsoluteTextureProjection) | off | Samples the map in world space from the projection below instead of across the region's own box. The Terraformer turns it on when Biome Map Partitioned or Bound Regions To Biome Extent is on. If the projection spans less than one cache texel, or the absolute graph is missing, the flag is cleared and the region falls back, recording a cache degradation. |
Biome Texture Projection (BiomeTextureProjection) | identity | Editable when the flag is on. Translation is the map's world centre, scale is its half-extent. |
Biome Color Tolerance (BiomeColorTolerance) | 0.01 | The region's copy of the colour tolerance. |
Local Cache Texel Size (LocalCacheTexelSize) | 800 | Biome-cache precision in cm, a whole number. |
Local Cache Z Extents (LocalCacheZExtents) | 1600 | Height of the cache points, a whole number. |
Local Cache Snap To Surface (LocalCacheSnapToSurface) | off | Projects cache points onto a surface. A hand-placed region keeps this default; the Terraformer pushes Biome Map Snap To Surface. |
Blending Range (BlendingRange) | 1000 cm | BiomeCore reads this by name and feathers the biome's influence across its boundary. Larger values reach further outside the claimed ground. |
Blending Noise (BlendingNoise) | 1 | Range 0 to 1. |
Blending Density (BlendingDensity) | 1 | Density across the blend. |
Biome spline and partitioning
| Property | Default | Meaning |
|---|---|---|
Local Cache Size (LocalCacheSize) | 800 cm | Category Biome Spline. Interior sample spacing of a Spline region's cache, read by BiomeCore by name. Minimum 100. Coarser is cheaper and edgier. Only a Spline region uses it, but every region carries it. |
Partition Grid Size (PartitionGridSize) | 40000 cm | Category Biome → Partitioning. Cell size when the region is partitioned. Range 400 to 419,430,400. One grid per world: the last region to apply a different value wins and deletes every serialized partition actor, so keep every region on one value. The Terraformer sets it for you. |
Components
| Component | Meaning |
|---|---|
SceneRoot | Root scene component. |
BiomeVolume | Box that bounds a box region. Half-extent 100 cm by default. Map regions and Build Biome Volumes regions keep that and carry the world size in actor scale; sector regions set the box extent to the cell directly. For a Spline region the box is refitted to the spline, padded by half Local Cache Size in X and Y, with a Z half-extent of at least Local Cache Z Extents. |
BiomeSpline | The spline that delimits a Spline region. Tagged PCG_BiomeActorSpline, closed loop, empty for the other shapes. Must stay closed with at least three points. |
PCG_LocalBiomeCore | The PCG component that runs the plugin's LocalBiomeCore graph. |
Blueprint-callable functions
| Function | What it does |
|---|---|
ResolveShape | Pure. Spline when Shape says so, else Texture when a texture is assigned, else Volume. |
SetSplineWorldPoints(Points, Linear) | Replaces the spline with at least three world points, closes it, sets the shape to Spline, refits the box, and re-applies tags and cache graph. Linear gives straight edges; otherwise curved. Returns false and changes nothing with fewer than three points. |
IsSplineUsable(Problem) | Pure. True when the spline is closed, has at least three points, and Local Cache Size is positive. Otherwise names the first failure. |
ApplyCacheGraph, ApplyDiscoveryTags, EnsureBiomeCoreGraph, ApplyPartitioning, UsesAbsoluteTextureProjection | Internals exposed to Blueprint. ApplyPartitioning refuses without a published sampling domain and proven scatter support, for a texture region on the relative projection, and for any Spline region. |
Terraform Excluder
AAgenticTerraformExcluder, displayed as Terraform Excluder. The actor carries the tag TerraformExcluder. In the shipped content only five Landscape sampler graphs look for that tag; see Placement for exactly which.
| Property | Default | Meaning |
|---|---|---|
Excluder Type (ExcluderType) | Box | Box or Spline. Shows and activates ExclusionBox or ExclusionSpline and hides the other. |
BoxComponent (ExclusionBox) | box | Red wireframe, half-extent 500 cm on each axis by default (a 1000 cm cube), no collision. |
SplineComponent (ExclusionSpline) | spline | The spline for Spline type. |
SpriteComponent | icon | Editor billboard. |
The excluder has no width, falloff or biome-filter setting. The zone is the box or spline you shape, and PCG graphs find it by the TerraformExcluder tag.
Road Component
UAgenticRoadComponent, displayed as Road Component. Add it to an actor that has a Spline Component; it uses the first spline it finds on its owner. The plugin ships BP_AT_RoadSpline, a spline actor Blueprint that already carries one.
Road config
| Property | Default | Meaning |
|---|---|---|
Road Width (RoadWidth) | 250 cm | A half-width: the flat zone extends this far on each side of the spline centre, so the road is twice this wide. Minimum 50. Also the deformation width. |
Side Falloff (SideFalloff) | 200 cm | Width of the blend band beyond each road edge. Minimum 0. Also the terrain falloff width. |
The component writes Road Width plus Side Falloff into the Y scale of every spline point when it registers and whenever either value is edited, so the spline carries the full footprint as its width scale. No shipped graph reads Road Width or Side Falloff by name.
Landscape deformation
Everything below Deform Landscape is greyed out until it is on. Landscape only.
| Property | Default | Meaning |
|---|---|---|
Deform Landscape (bDeformLandscape) | off | Allows Apply To Landscape to do anything. |
Raise Terrain (bRaiseTerrain) | on | Let terrain rise to the spline's height. |
Lower Terrain (bLowerTerrain) | on | Let terrain drop to the spline's height. |
Start Roll (StartRoll), End Roll (EndRoll) | 0, 0 | Banking in degrees at the first and last spline point, interpolated between. Range minus 45 to 45. Positive tilts the right side higher. |
Deform Width Multiplier (DeformWidthMultiplier) | 1 | Multiplies Road Width for the terrain edit only. Range 0.5 to 10. |
Deform Falloff Multiplier (DeformFalloffMultiplier) | 3 | Multiplies Side Falloff for the terrain edit only. Range 1 to 30. |
Num Subdivisions (NumSubdivisions) | 20 | Interpolation steps between spline keys. Range 1 to 100. Higher is smoother and slower. |
Paint Road Layer (bPaintRoadLayer) | off | Paint a Landscape layer along the road: full strength in the centre, cosine-faded across the falloff. |
Road Layer Name (RoadLayerName) | none | Layer to paint. Must match a layer of the Landscape exactly and have a layer info object. |
Edit Layer Name (EditLayerName) | none | Advanced. Edit layer that receives the deformation and paint. None uses the base layer, index 0. A named layer must already exist. |
Button
| Button | What it does |
|---|---|
Apply To Landscape (ApplyToLandscape) | Editor only. Runs the engine's spline-apply on the Landscape under the spline's first point, using Road Width times the width multiplier and Side Falloff times the falloff multiplier. Does nothing when Deform Landscape is off. |
Apply To Landscape logs and stops with these errors: no owning actor; no Spline Component; no landscape found beneath the spline (the spline needs at least two points and its first point must lie over the Landscape); the landscape has no edit layer; or the named Edit Layer Name does not exist, listing the layers that do. A Road Layer Name with no matching layer is a warning that lists the available layers, and the terrain edit still runs without paint. A non-base Edit Layer Name is a warning: the engine writes absolute heights, which an additive layer adds on top of the base.
On MeshTerrain there is no road deformation path. The component still sets spline width, but Apply To Landscape finds no Landscape and logs the "no landscape found beneath the spline" error. In a level holding both backends it deforms the Landscape and leaves the mesh terrain alone.
Actors a build creates
| Created by | Actor | Label | Outliner folder |
|---|---|---|---|
| Auto Grid | Terraform Sector | Sector_X_Y | AgenticTerraform/Sectors |
| Sector Create Volumes | Region, box | Vol_BiomeAssetName_X_Y | AgenticTerraform/ManagedVolumes |
| Sector Bake Runtime Textures | Region, texture | RTVol_BiomeAssetName_X_Y | AgenticTerraform/ManagedVolumes |
| Build Biome Map | Region, texture | BiomeMap_BiomeAssetName | AgenticTerraform/BiomeMap |
| Build Biome Volumes | Region, box | BiomeVolume_BiomeAssetName | AgenticTerraform/BiomeVolumes |
| Any build | BiomeCore actor | BiomeCore_Auto | AgenticTerraform/Internal |
| Any build, when a biome has runtime cover | BiomeCore runtime actor | BiomeCoreRuntime_Auto | AgenticTerraform/Internal |
Regions the Terraformer or a sector spawns are hidden in the viewport when created. Select them in the Outliner.
Wind Bridge
Configure the AT Wind Manager actor to push one wind value into your own material parameter collections, Niagara effects and wind receivers, and use the shipped foliage wind material.
Biome Asset Reference
Every editable field of the Agentic Biome data asset (UAgenticBiome) and the structs, enums and generator asset it nests, with types, defaults and backend notes