# Navigation user interface

The Navigation user interface consists of the Navigation window, AI Navigation overlay, AI Navigation Editor Preferences and several components for building a NavMesh. The NavMesh building components provide you with additional controls that allow you to generate and use NavMeshes at runtime and in the Unity Editor.

| **Topic**             | **Description**         |
| :-------------------- | :----------------------- |
| [**Navigation window**](./NavigationWindow.md) | Define the types of agents and areas in your game world. |
| [**AI Navigation preferences**](./NavEditorPreferences.md) | Customize the navigation debug visualization. |
| [**AI Navigation overlay**](./NavigationOverlay.md) | Display navigation debug visualization. |
| [**NavMesh Agent component**](./NavMeshAgent.md) | Define the characters that you want to navigate the game world. |
| [**NavMesh Surface component**](./NavMeshSurface.md) | Build and enable a NavMesh surface for one type of Agent. |
| [**NavMesh Modifier component**](./NavMeshModifier.md) | Adjust the behavior of a GameObject when the NavMesh is baked at runtime. |
| [**NavMesh Modifier Volume component**](./NavMeshModifierVolume.md) | Control the generation of NavMesh area types based on volume. |
| [**NavMesh Obstacle component**](./NavMeshObstacle.md) | Define moving obstacles that NavMesh Agents avoid as they navigate your game world. |
| [**NavMesh Link component**](./NavMeshLink.md) | Connect the NavMesh surfaces for each type of agent. |
