PolyTerrain reference

Authoritative defaults: Gems/PolyTerrain/Registry/polyterrain.setreg. Public headers live under Gems/PolyTerrain/Code/Include/PolyTerrain/.

Settings Registry

Prefix: /O3DE/PolyTerrain/.

KeyDefaultPurpose
EnabledfalseMaster switch; registers system components and bridges
EditorModeEnabledfalseSix-tab Poly Terrain Mode
PreviewRebuildBudgetMs1.5Per-stroke preview rebuild budget (ms); async Job when JobContext exists
DebugOverlayEnabledfalseImGui Poly Partition Diagnostics
VtEnabledfalseRuntime VT bridge
GpuPreviewEnabledfalseGPU preview sculpt path
RuntimeWeightRewriteEnabledfalseRuntime weight stamps
CollisionDominantReweightEnabledfalseRe-cook dominant triangle materials after rewrite
CollisionConvexReweightEnabledfalseUpdate convex hull materials in place after rewrite
PcgRuntimeExecutionEnabledfalseAllow PCG graph outputs outside the editor
TabletPressureEnabledtrue (code default)Scale brush strength from tablet pressure
PaintChannelInspectorEnabledtrue (code default)Paint-mode single-channel debug view

Related (World Streaming): /WorldStreaming/PolyPartitionSignatureMismatchKick — optional consecutive mismatch count before terminate (default 0 = off).

EBus selection

NeedBusHeader
Register / dirty / RebuildPreview / diagnosticsPolyPartitionSystemRequestBusPolyPartitionBus.h
BuildCompiledSections / section listPolyPartitionRequestBusPolyPartitionBus.h
RayIntersectD / SampleWeightChannelD / GetUnifiedSurfacePointDPolyPartitionDataRequestBusPolyPartitionBus.h
Preview / compiled / weight change notifiesPolyPartitionNotificationBusPolyPartitionBus.h
VT trail stampPolyPartitionVtRequestBusPolyPartitionVtBus.h
Weight stamp / overlay serializePolyPartitionWeightRewriteRequestBusPolyPartitionWeightRewrite.h
PCG query / write / spawn / ExecuteGraph / PCG state I/OPolyPartitionPcgRequestBusPolyPartitionPcg.h

Editor automation buses (BehaviorContext, Automation scope) include brush stamp injection and modifier enable / ordering helpers used by editor tests.

C++ examples

#include <PolyTerrain/PolyPartitionBus.h>

// Incremental bake
PolyTerrain::PolyPartitionRequestBus::Event(
 partitionEntityId,
 &PolyTerrain::PolyPartitionRequests::BuildCompiledSections,
 true);

// Unified surface (mesh preferred, heightfield fallback)
PolyTerrain::PolyPartitionSurfaceHit hit;
PolyTerrain::PolyPartitionDataRequestBus::BroadcastResult(
 hit,
 &PolyTerrain::PolyPartitionDataRequests::GetUnifiedSurfacePointD,
 worldPosD);

Python

Module: azlmbr.poly_terrain.

import azlmbr.bus as bus
import azlmbr.poly_terrain as poly_terrain

poly_terrain.PolyPartitionRequestBus(
 bus.Event, 'BuildCompiledSections', partition_entity_id, True)

cloud = poly_terrain.PolyPartitionPcgRequestBus(
 bus.Broadcast, 'QuerySurface', partition_entity_id, 'Sculpt', False)

Batch erosion example: Gems/PolyTerrain/Editor/Scripts/polypartition_batch_apply_modifier.py Run: pyRunFile @gemroot:PolyTerrain@/Editor/Scripts/polypartition_batch_apply_modifier.py

Asset extensions

ExtensionRole
.polypartitiondefinitionMPD
.transformerpipelineStandalone Transformer Pipeline asset
.polypartitionExported builder source snapshot
.polypartitionsectionCompiled section binary (MPSC)
.polypartitionweightsBaked weight textures
.vtRuntime virtual texture settings
.polypcggraphPCG graph asset

Further reading

Component field tables: Components.


Copyright © 2026 DawnEngine. All rights reserved.

DawnEngine is a commercial 3D engine distributed under the DawnEngine end-user license agreement. Engine binaries and source are proprietary and are not covered by the licenses below.

Documentation only: the prose and templates on this site are a derivative work of Open 3D Engine (O3DE) documentation by the O3DE Contributors, used under CC BY 4.0 (documentation content), Apache 2.0 (site code), and the MIT license (inline code samples).

The open-source 3D engine that DawnEngine is built on top of is Open 3D Engine . DawnEngine is not affiliated with, endorsed by, or sponsored by The Linux Foundation or the O3DE project. “O3DE” and “Open 3D Engine” are trademarks of The Linux Foundation.