Aerial navigation surface

Enable Generate Aerial Layer in Simple > Output or Expert > Optional outputs and project layers, then regenerate. This output is disabled by default. When enabled, generation creates a hidden mesh and MeshCollider at MeshGround/AerialGround. The mesh follows the final ground and water with the configured Aerial Clearance in world units (3 by default). Mountains do not lift the flight surface above their peaks: the continuous plane intersects their slopes and passes through the massif. Rock protruding above it remains a physical obstacle through the mountain's own collider. Both procedural and image maps use this behavior, including global altitude and adjusted bridge geometry.

The relief analysis still uses a conservative half-cell envelope to catch peaks between vertices. The collider then merges flat areas and regular slopes into large patches; a completely flat open map needs only four vertices and two triangles. Straight height changes use long strips; compatible neighboring rectangles are merged again across partition boundaries. More triangles remain near irregular ground relief. The plane fitting tolerance is 0.35 world units and only raises the envelope. Steep breaks may therefore leave additional clearance. Neighboring patches share all edge vertices and heights to avoid collider cracks. Mountains do not cut holes in this surface or force additional subdivisions around their outline. The mesh keeps the terrain's local alignment and accounts for Cell Size and generator scale. Large irreducible meshes still support 32-bit indices.

Rock-colored foothills do not lift the flight surface. This also applies to mountain uplift in the temporary terrain collision mesh and in renderers merged by material. Under a massif the plane extends the surrounding land height and follows the regional altitude field. Water, bridge decks, plateaus and ramps still support flight at their final height. The mountain's shape and physics layers remain unchanged. See Mountain rendering for the terrain material transition.

Aerial Layer Name selects an existing Unity layer, initially Aerial, falling back to Ignore Raycast. Its renderer stays disabled. The continuous collider and its final vertices are embedded for scene/prefab reload, including under mountain-covered areas. No navigation package is required. The graph-update adapter is disabled by default and needs an explicit opt-in. See Optional outputs for project layers and integration settings.

If your game bakes separate aerial navigation, include the protruding mountain collision geometry as obstacles as well as the Aerial surface. A collider alone does not assign navigation areas or create avoidance behavior for your units.

Regenerate an existing map to update this surface. Rebuild your game's navigation data afterwards if your game uses a separate navigation bake. Select MeshGround/AerialGround to inspect the generated MeshFilter and MeshCollider.

Mountain intersection

The same generated massif before and after the intersection correction. Cyan shows the actual Aerial surface and green lines show its triangle edges. The renderer is temporarily enabled only for these diagnostic captures.

Before: the surface climbed the foot After: the surface cuts through the rock
Before After

Collider simplification

Archived simplification comparison from before the mountain intersection change: the same procedural map, with the old uniform triangulation on the left and adaptive triangulation on the right. The green wireframe displays all edges of the actual meshes; the renderer is temporarily enabled only for these captures.

Uniform half-cell triangulation Simplified collider
Uniform Simplified

Diagnostic examples

The following native captures temporarily display the actual flight mesh in transparent cyan, with a diagnostic grid. This is a documentation display only; the generated geometry and collisions are not altered.

Flat ground: before Flat ground: after
Flat before Flat after
Global altitude: before Global altitude: after
Altitude before Altitude after

Both comparisons keep the same input image, palette and camera. The altitude comparison also uses the same height map. Tall mountains block the flight layer instead of moving the entire layer above the highest summit. Water remains level.