---
title: NavigationMeshResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/navigationmeshresource
---

# NavigationMeshResource

A representation of a scene’s navigable surfaces that the system uses to compute paths.

## Declaration

```swift
class NavigationMeshResource
```

## Overview

Overview Build a navigation mesh from a model’s geometry or from raw vertex and polygon data, then mark areas and flags to describe where agents can travel and at what cost. Provide the resulting resource to a NavigationMeshComponent so a NavigationController can find paths across it.

## Topics

### Creating a navigation mesh

- [init(mesh:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(mesh:offmeshconnections:configuration:)-6xdta.md)
- [init(mesh:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(mesh:offmeshconnections:configuration:)-7mj9i.md)
- [init(meshDescriptor:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(meshdescriptor:offmeshconnections:configuration:)-3n43t.md)
- [init(meshDescriptor:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(meshdescriptor:offmeshconnections:configuration:)-6zzvf.md)
- [init(triangleIndices:vertices:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(triangleindices:vertices:offmeshconnections:configuration:)-2rrq1.md)
- [init(triangleIndices:vertices:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(triangleindices:vertices:offmeshconnections:configuration:)-480i3.md)
- [init(polygonIndices:vertices:offMeshConnections:configuration:areas:flags:heightData:)](realitykit/navigationmeshresource/init(polygonindices:vertices:offmeshconnections:configuration:areas:flags:heightdata:).md)

### Marking areas and flags

- [markAreaInBox(boundingBox:area:)](realitykit/navigationmeshresource/markareainbox(boundingbox:area:).md)
- [markFlagInBox(boundingBox:flag:)](realitykit/navigationmeshresource/markflaginbox(boundingbox:flag:).md)
- [markAreaInCylinder(position:radius:halfHeight:area:)](realitykit/navigationmeshresource/markareaincylinder(position:radius:halfheight:area:).md)
- [markFlagInCylinder(position:radius:halfHeight:flag:)](realitykit/navigationmeshresource/markflagincylinder(position:radius:halfheight:flag:).md)
- [markAreaOnPolygons(polygonIndices:area:)](realitykit/navigationmeshresource/markareaonpolygons(polygonindices:area:).md)
- [markFlagOnPolygons(polygonIndices:flag:)](realitykit/navigationmeshresource/markflagonpolygons(polygonindices:flag:).md)
- [markAreaOnOffMeshConnections(offMeshConnectionIndices:area:)](realitykit/navigationmeshresource/markareaonoffmeshconnections(offmeshconnectionindices:area:).md)
- [markFlagOnOffMeshConnections(offMeshConnectionIndices:flag:)](realitykit/navigationmeshresource/markflagonoffmeshconnections(offmeshconnectionindices:flag:).md)

### Removing areas and flags

- [removeAreaInBox(boundingBox:area:)](realitykit/navigationmeshresource/removeareainbox(boundingbox:area:).md)
- [removeFlagInBox(boundingBox:flag:)](realitykit/navigationmeshresource/removeflaginbox(boundingbox:flag:).md)
- [removeAreaInCylinder(position:radius:halfHeight:area:)](realitykit/navigationmeshresource/removeareaincylinder(position:radius:halfheight:area:).md)
- [removeFlagInCylinder(position:radius:halfHeight:flag:)](realitykit/navigationmeshresource/removeflagincylinder(position:radius:halfheight:flag:).md)
- [removeAreaOnPolygons(polygonIndices:area:)](realitykit/navigationmeshresource/removeareaonpolygons(polygonindices:area:).md)
- [removeFlagOnPolygons(polygonIndices:flag:)](realitykit/navigationmeshresource/removeflagonpolygons(polygonindices:flag:).md)
- [removeAreaOnOffMeshConnections(offMeshConnectionIndices:area:)](realitykit/navigationmeshresource/removeareaonoffmeshconnections(offmeshconnectionindices:area:).md)
- [removeFlagOnOffMeshConnections(offMeshConnectionIndices:flag:)](realitykit/navigationmeshresource/removeflagonoffmeshconnections(offmeshconnectionindices:flag:).md)

### Accessing mesh data

- [vertices](realitykit/navigationmeshresource/vertices.md)
- [polygonIndices](realitykit/navigationmeshresource/polygonindices.md)
- [areas](realitykit/navigationmeshresource/areas.md)
- [flags](realitykit/navigationmeshresource/flags.md)
- [offMeshConnections](realitykit/navigationmeshresource/offmeshconnections.md)
- [heightData](realitykit/navigationmeshresource/heightdata-swift.property.md)
- [layer](realitykit/navigationmeshresource/layer-swift.property.md)
- [configuration](realitykit/navigationmeshresource/configuration-swift.property.md)

### Supporting types

- [NavigationMeshResource.Configuration](realitykit/navigationmeshresource/configuration-swift.struct.md)
- [NavigationMeshResource.Area](realitykit/navigationmeshresource/area.md)
- [NavigationMeshResource.Flag](realitykit/navigationmeshresource/flag.md)
- [NavigationMeshResource.FlagGroup](realitykit/navigationmeshresource/flaggroup.md)
- [NavigationMeshResource.OffMeshConnection](realitykit/navigationmeshresource/offmeshconnection.md)
- [NavigationMeshResource.HeightData](realitykit/navigationmeshresource/heightdata-swift.struct.md)
- [NavigationMeshResource.Layer](realitykit/navigationmeshresource/layer-swift.struct.md)
- [NavigationMeshResource.PathNode](realitykit/navigationmeshresource/pathnode.md)

### Initializers

- [init(mesh:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(mesh:offmeshconnections:configuration:).md)
- [init(meshDescriptor:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(meshdescriptor:offmeshconnections:configuration:).md)
- [init(named:in:)](realitykit/navigationmeshresource/init(named:in:).md)
- [init(triangleIndices:vertices:offMeshConnections:configuration:)](realitykit/navigationmeshresource/init(triangleindices:vertices:offmeshconnections:configuration:).md)

## Relationships

### Conforms To

- [Resource](realitykit/resource.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Game development

- [Gaming sample code projects](realitykit/game-development-sample-code.md)
- [Entity animations](realitykit/game-development-entity-animations.md)
- [Character control, skeletons, and inverse kinematics](realitykit/game-development-character-skeletons.md)
- [NavigationComponent](realitykit/navigationcomponent.md)
- [NavigationMeshComponent](realitykit/navigationmeshcomponent.md)
- [NavigationController](realitykit/navigationcontroller.md)
