Terrain Surface Materials List Component

The Terrain Surface Materials List component defines mappings between surface types and render materials. You can use this to change the appearance of a surface type within different areas of your game. When you assign a material to a surface type, all the visible surfaces of that type, within the bounds of the required Axis Aligned Box Shape component, will adopt that material.


Select the surface type tag using the SurfaceTag drop-down menu, then assign a material by clicking and choosing a material, or by dragging a material from the AssetBrowser window.


Terrain Gem


Terrain Surface Materials List component properties

Gradient to Material MappingsAn array of surface tags and material assets to map together.
Surface TagSelects a surface tag to map to a material.Surface: Surface TagNone
Material AssetSelects a material asset to apply to the surface.Material AssetNone


Use the following request functions with the TerrainAreaMaterialRequestBus EBus interface to communicate with Surface Material List components of your game.

Request NameDescriptionParameterReturnScriptable
GetSurfaceMaterialMappingsRetrieves all the assigned surface types, the materials that you have assigned to them, and the bounds that are set for this entity.NoneTerrain Surface Material Mapping: VectorNo.


Notification NameDescriptionParameterReturnScriptable
OnTerrainSurfaceMaterialMappingCreatedNotifies listeners when a new mapping between a Surface and a Material is set up.NoneEntityId; Surface Tag; MaterialNo
OnTerrainSurfaceMaterialMappingDestroyedNotifies listeners when a mapping between a Surface and a Material is removed.NoneEntityId; Surface TagNo
OnTerrainSurfaceMaterialMappingChangedNotifies listeners when a mapping between a Surface and a Material is changed.NoneEntityId; Surface Tag; MaterialNo
OnTerrainSurfaceMaterialMappingRegionChangedNotifies listeners when the bounds of the component are modified.NoneEntityId; Old Region: Aabb; New Region: AabbNo