---
title: "Terrain"
description: "Terrain is authored through `TerrainComponent` and terrain workspace assets."
engineVersion: v1.0.234
date: 2026-09-28
license: "(c) Gessa, proprietary. Cite with attribution to https://gessa.ai/docs/. Terms: https://gessa.ai/terms/."
canonical: https://gessa.ai/docs/creator/graphics/terrain/
---
# Terrain

Terrain is authored through `TerrainComponent` and terrain workspace assets.

## Terrain Assets

Terrain assets can reference heightmaps, splat maps, texture layers, and collision proxy metadata. The asset pipeline extracts render cost metadata such as chunk count, triangle estimate, texture count, texture dimensions, LOD count, and estimated GPU bytes.

## Rendering

Terrain renders as tiled chunks with camera-distance LOD. Chunks are frustum culled and budgeted by quality tier.

Splatting supports up to four layers per terrain material setup and renders through the same generated splat material on WebGL and WebGPU. Layer fields include albedo, normal, and roughness references. Triplanar intent is preserved in authoring data, but it is not active runtime shading until a cross-backend implementation is pixel-proven.

## Shadows

Terrain receives shadows. High and above can cast shadows when the component requests it and the quality budget allows it.

## Budgets

Quality policy caps terrain surfaces, chunk count, and segment density. The profiler reports terrain surface count, terrain chunk count, and triangle estimate so large worlds can be tuned with real counters.

## Authoring Notes

Keep terrain chunks aligned with gameplay scale. Use LOD distances to reduce far-field detail, and use texture layer reuse instead of unique high-resolution textures per area.
