Terrain & large worlds

Unreal Landscape Size & Heightmap Calculator

Direct answer

An Unreal Landscape heightmap is valid when each axis equals section quads multiplied by sections per component and component count, plus one shared edge vertex. With 63 quads, 2x2 sections and 16x16 components, the correct heightmap is 2017x2017 pixels and covers 2.016 km at the default 100 cm vertex spacing.

A section stores a power-of-two vertex texture, so its quad count is one less.

cm

Distance between neighbouring vertices. 100 cm produces roughly one vertex per metre.

m

The full distance from the lowest to highest encoded point, not only height above sea level.

Result

Heightmap resolution
px
Landscape world size
km
Total components
Total vertices
million
Approximate vertex data
MiB
Unreal import Z scale
Configuration check

Method & assumptions

How this is worked out

For each axis, resolution = quads per section x sections per component x components + 1. The final one is the shared outer vertex. World size uses the number of quads, not vertices: (resolution - 1) x XY scale.

Unreal encodes Landscape height across a 512-unit vertical range. Convert the desired total range to centimetres and divide by 512: Z scale = height range in cm / 512. A 512 m range therefore uses Z scale 100.

The vertex-storage estimate uses Epic's four bytes per Landscape vertex. It covers vertex data only and deliberately excludes weightmaps, collision, materials, edit layers, HLODs and runtime streaming overhead.

Epic's commonly recommended Landscape sizes

ResolutionQuads / sectionSections / componentComponents
8129x81291272x232x32
4033x4033632x232x32
2017x2017632x216x16
1009x1009632x28x8
505x505632x24x4
253x253632x22x2

These combinations minimise component count for their area. Smaller components can increase culling granularity but also increase CPU and rendering overhead.

Questions

Why is 2017 valid but 2048 is not?

Landscape components share edge vertices. A 16x16 layout using 63 quads and 2x2 sections contains 2016 quads, so it needs 2017 vertices. A generic 2048 texture does not divide cleanly into that component structure and must be resampled or cropped.

What X/Y scale gives one metre per vertex?

Use 100 cm. Unreal units are centimetres, so neighbouring Landscape vertices sit one metre apart. A 2017-pixel heightmap then spans 2016 metres because the distance is measured across 2016 quad intervals.

How do I calculate Unreal Landscape Z scale?

Take the full encoded vertical range in metres, multiply by 100 to convert to centimetres, then divide by 512. A total range of 2048 m needs Z scale 400. Include any depth below sea level in that total range.

Sources and assumptions

Sources define the engine settings or mathematical model. Project-specific performance and final playability still need measurement in the target build.