# 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. | | [**OffMesh Link component**](OffMeshLink.md) | Create shortcuts between NavMeshes which cannot be represented by a walkable surface. |