# Crowd Navigation System

> This system allows you to create primitive AI crowd agents that follow a path along a specific mesh.

Source: https://doc.babylonjs.com/features/featuresDeepDive/crowdNavigation

![Generated Navmesh ](https://doc.babylonjs.com/img/extensions/navigation/NavMeshGeneration.webp)

A Navigation Mesh (or navmesh for short) is a surface topology describing the space where an agent can go based on constraints.
Based on parameters such as agent radius, climbing capability, and height, navmesh generation computes a topology from source meshes (the world geometry).
Then, this topology can be displayed for debugging (the blue mesh in the screenshot above) to validate the parameters.

A demo can be found at: [Playground: Crowd Navigation Demo](https://playground.babylonjs.com/#HFY257#4) - Simple example showcasing the crowd agent and nav mesh systems.

## Pages in this section

- [Introduction to NavigationPlugin V2](https://doc.babylonjs.com/features/featuresDeepDive/crowdNavigation/v2Intro.md): Learn about NavigationPlugin V2
- [Creating A Navigation Mesh](https://doc.babylonjs.com/features/featuresDeepDive/crowdNavigation/createNavMesh.md): Learn how to create a mesh as a confinement system for crowd agents.
- [Crowd Agents](https://doc.babylonjs.com/features/featuresDeepDive/crowdNavigation/crowdAgents.md): Learn how to create crowd agents that follow a path along a navigation mesh.
- [Adding and removing obstacles](https://doc.babylonjs.com/features/featuresDeepDive/crowdNavigation/obstacles.md): Learn how to add and remove obstacles for crowd agents.
