# 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](MountainRendering.md) 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](OptionalOutputs.md) 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](ParameterExamples/Aerial_MountainBefore.png) | ![After](ParameterExamples/Aerial_MountainAfter.png) | ## 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](ParameterExamples/Aerial_OptimizationBefore.png) | ![Simplified](ParameterExamples/Aerial_OptimizationAfter.png) | ## 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](ParameterExamples/Aerial_FlatBefore.png) | ![Flat after](ParameterExamples/Aerial_FlatAfter.png) | | Global altitude: before | Global altitude: after | |---|---| | ![Altitude before](ParameterExamples/Aerial_AltitudeBefore.png) | ![Altitude after](ParameterExamples/Aerial_AltitudeAfter.png) | 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.