---
title: NavigationController
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/navigationcontroller
---

# NavigationController

An interface for finding paths for an entity moving across a scene’s navigation mesh.

## Declaration

```swift
struct NavigationController
```

## Overview

Overview Create a navigation controller for an entity, then call requestPath(to:) to start an asynchronous pathfind or computePath(to:) to compute a path immediately. Track pathfindStatus and read currentPath to follow the result.

## Topics

### Creating a navigation controller

- [init(entity:)](realitykit/navigationcontroller/init(entity:).md)

### Requesting pathfinding

- [requestPath(to:)](realitykit/navigationcontroller/requestpath(to:).md)
- [requestPath(from:to:)](realitykit/navigationcontroller/requestpath(from:to:).md)
- [stopPathfind()](realitykit/navigationcontroller/stoppathfind().md)

### Computing paths

- [computePath(to:)](realitykit/navigationcontroller/computepath(to:).md)
- [computePath(from:to:)](realitykit/navigationcontroller/computepath(from:to:).md)

### Monitoring pathfinding status

- [pathfindStatus](realitykit/navigationcontroller/pathfindstatus-swift.property.md)
- [NavigationController.PathfindStatus](realitykit/navigationcontroller/pathfindstatus-swift.enum.md)
- [currentPath](realitykit/navigationcontroller/currentpath.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)
- [NavigationMeshResource](realitykit/navigationmeshresource.md)
