Troubleshooting
Diagnose empty builds, missing ground cover, biome map colours that do not match, wind that does not move, and toolsets that do not appear in Agentic Biomes
Troubleshooting
Start with the Output Log. The Terraformer's build steps write their outcome under the LogAgenticBiomes category, and refusals name the reason. These are text walkthroughs; no editor UI screenshots are required.
Nothing Generates at All
Symptoms: A build button runs and the level stays empty.
- Filter the Output Log for
LogAgenticBiomes. - If it says
This level contains NO terrain, add a Landscape or a Mesh Partition terrain, or set Terrain Backend explicitly. - If it says
This level contains BOTH a Landscape and MeshPartition mesh terrain, set Terrain Backend toLandscapeorMeshTerrain. - If it says
No landscape in this levelorLandscape has zero bounds and no streaming proxies found, load the landscape streaming proxies and build again.
A build returns before PCG finishes. Wait for BAKE COMPLETE before judging the result; BAKE ABORTED carries a reason. See Placement for the full message table.
One Biome Generates Nothing
Symptoms: The other biomes appear; one is missing.
- On a painted biome map, press Validate Biome Palette. It reports a missing definition, a colour too close to another, a colour too close to the reserved black, and a biome with no content.
- Press Audit Biome Map. A palette biome whose colour is absent from the map has a count of 0 and gets no region. A large unclaimed count usually means compression, mips, or antialiasing blurred your edges.
- Validate the biome itself: right-click it and choose Validate Biome. Issues go to the Output Log. See Biome Assets.
- On a MeshTerrain, the Flow, Sun Exposure, and Water Distance filters have no data source. A row that serves MeshTerrain with one of them set away from its default is reported by the validator as
SampleFilterOnMeshTerrain.
Painted Colours Do Not Match
The match compares raw texture bytes with the colour stored on the biome. The texture needs sRGB off, no mips, and an uncompressed format; compression and mips invent in-between colours that match no biome. Biome Color Tolerance defaults to 0.01 per channel. See Placement.
Verify Biome Map Regions Fails
FAILwithNo biome-map regions foundon a level built only with Build All inGridmode is expected: sector regions belong to their sectors, and the check reads only regions the Terraformer owns.produced an EMPTY biome cachemeans generation has not finished or the colour never matched. Run it again, then Validate Biome Palette.claimed by MORE THAN ONE regionmeans two palette colours are within tolerance of each other. Separate them or lower Biome Color Tolerance.- A
PASSsays the cache is right. It does not say anything was placed. When it passes and the level looks empty, press Explain Species.
Ground Cover Is Missing in Play
Symptoms: Trees and rocks are there; grass and small plants are not.
- Confirm the biome has a runtime entry in Runtime Asset Entries, and that its
Backendsmask includes your terrain backend. See Runtime Ground Cover. - Rebuild with Build Biome Map, Build Biome Volumes, Build Spline Biomes, or Build All. The build spawns the hidden runtime core and passes it to PCG's runtime scheduler.
- In the Output Log, look for a
REFUSEDerror about the runtime scheduler. Runtime generation needs the engine variablepcg.RuntimeGeneration.Enableon, a live world, and a registered runtime component. - Bake All Textures only matters on a Grid level with Landscape layer bindings; it bakes each sector's layer mask. It bakes nothing on MeshTerrain and is not part of the biome-map or volume routes.
- On a MeshTerrain, a warning that the section bounds are flat in Z means scatter can collapse onto one height. Section collision is the likely cause: build the Mesh Partition sections, or set Biome Map Z Extents to cover the real relief.
Changing How Dense a Biome Is
A biome has no quality or density-scale setting, and neither does the Terraformer. A species row's Weight sets how often it is picked relative to the other rows that share its generator; the overall density comes from the generator's parameters. See Biome Assets and Runtime Ground Cover.
An Exclusion Zone Does Not Keep Scatter Out
The Terraform Excluder carries the tag TerraformExcluder. Only five shipped Landscape sampler graphs read it, and no MeshTerrain sampler does. The zone is the box or spline you shape: there is no width or falloff setting. A generator graph of your own affects the result only if you read the tag in that graph. See Placement.
A Road Does Not Deform the Terrain
Deformation is Landscape only, and Apply To Landscape does nothing until Deform Landscape is on. On a MeshTerrain, Apply To Landscape logs RoadComponent: No landscape found beneath spline; the component still sets the spline width. On a Landscape, the spline needs at least two points and its first point must lie over the Landscape. With Paint Road Layer on, the layer named in Road Layer Name needs a layer-info asset on the Landscape, or the log lists the available layers and the terrain edit runs without paint.
Foliage Does Not Sway
The wind bridge ships with nothing pre-filled: Mpc Targets is empty and the source reads zero until configured.
- Place AT Wind Manager in the level.
- Add a target per collection your materials read, name the parameters, and press Sync Now.
- Configure the source: assign Weather Actor (or Actor Class Marker) and Intensity Property Name.
ATWindManager: Could not resolve MPC '…' for target '…' means a target's Mpc points at an asset that cannot be loaded. Reassign it. See Wind Bridge.
The Terrain Surface Looks Wrong
- Nothing in the plugin assigns the terrain material. Set it on the Landscape, or on your Mesh Partition definition.
MI_AT_LayerStack_Landscapepaints onlyDirt,Gravel, andSand. Add each as a target layer with a layer-info asset whose Layer Name matches; some shipped layer-info assets carry no name.- Runtime Virtual Texture reading and Nanite displacement are off in every shipped instance, and the plugin never creates virtual texture volumes. See Terrain Material.
The Agent Toolsets Are Missing
The tools register through Epic's Experimental ToolsetRegistry plugin, in the editor-only AgenticBiomesToolsets module. Verify ToolsetRegistry is enabled and restart the editor. To reach the tools from an MCP client, also enable Epic's Unreal MCP plugin and start its server: enable Auto Start Server in its settings, or launch the editor with -ModelContextProtocolStartServer. See Agent Toolsets.
BuildLevel and BuildLevelAs Refuse
BuildLevel repeats the builder the Terraformer recorded, so it refuses a level that has never been built: the refusal names LastBuildMethod=Unknown. For a level with no regions and no placed instances, call BuildLevelAs and name the builder: BiomeMap, BiomeVolumes (or Volume) or Grid. For a level that already has regions or placed instances but no recorded builder, press Build Biome Map, Build Biome Volumes, or Build All once on the Terraformer, then call BuildLevel.
BuildLevelAs builds nothing and says why in refusal when the builder name is not one of the three, when the Terraformer recorded a different builder (that would convert the level's layout, not rebuild it), or when the record is Unknown but the level already has regions or placed instances. Both tools also refuse a level with no Terraformer or with more than one.
The Capture Tools Return a Problem
The capture tools read their cameras from a JSON shot-set file that you supply and pass on every call as ShotSetPath. The plugin ships none. A problem that says the path is empty, is not a .json file, could not be read, is not valid JSON, has no levels array, or declares no such level means the file is wrong or missing; the message ends with the expected format. Create the file as described in Agent Toolsets. A shot that still has the [0, 0, 0] location is refused: run DeriveCameras and write the locations into the file. The level must already be open, because the tools never load a map. ShotId and PhaseTag must each be a plain name (letters, digits, -, _, single dots). Images are written to Saved/AgenticBiomes/Captures/<PhaseTag>/<ShotId>.png under your project, and a -nullrhi or commandlet editor cannot produce them.
The Plugin Asks for Missing Engine Plugins
Failed to load … Is the PCGBiomeCore plugin enabled? means BiomeCore is off. Enable PCGBiomeCore, restart, and rebuild. A MeshTerrain also needs MeshPartition, PCGMeshPartitionInterop, PCGPrimitives_MeshPartitionInterop, and MeshTerrainMode. All of these are Experimental in Unreal Engine 5.8.
Need Help?
Ask in Discord. Include the Unreal Engine version, the terrain backend, the placement route, the relevant LogAgenticBiomes lines, and the result of Verify Biome Map Regions. State whether the problem survives saving and reopening the level.