> For the complete documentation index, see [llms.txt](https://gley.gitbook.io/mobile-pedestrian-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gley.gitbook.io/mobile-pedestrian-system/key-features.md).

# Key Features

{% embed url="<https://www.youtube.com/watch?v=W0AgrBDziN0>" %}

* **Waypoint-based** pedestrian system.
* Uses a grid system, allowing it to be used in **any scene dimension** without performance issues.
* Movement is made using **Apply Root Motion** from the character animator.
* Support for **any humanoid characters**.
* Support for **any animations**.
* Easy to create and integrate **custom behaviours**.
* Support for **traffic lights** and **no traffic lights** street crossings.
* Independent **crossing component** for integrating with existing vehicle systems.
* Seamless integration with the [Mobile Traffic System](https://assetstore.unity.com/packages/tools/behavior-ai/mobile-traffic-system-v3-305800?aid=1011l8QY4\&pubref=gb-pedestrian-system-key-features-305800).
* **Pathfinding on waypoints**. Method to find the shortest path between 2 waypoints using the existing waypoints inside the scene.
* The ability for pedestrians to **follow a given path**. Method to make any pedestrian form anywhere in the scene to reach a specific destination.
* Basic static and dynamic **obstacle avoidance**.
* **Pedestrian types** - assign different types of pedestrians and allow access in specific areas based on pedestrian types. (Ex: only pedestrians marked as students will walk inside campus).
* **Priority waypoints**. Ability to set the importance of the pedestrian paths. Useful to spawn more pedestrians in the crowded areas downtown and fewer on city edges.
* **Custom events on waypoints**. Those events are triggered when a pedestrian reaches a specially marked waypoint. Useful for dynamic actions inside the app.
* Capability to include pedestrians in the vehicle pool that will not be instantiated by the system. These pedestrians must be programmatically instantiated at the appropriate time.
* Ability to subscribe to various **events** for a better overview of what happens inside the system and better customization opportunities.
* Added **delegates** for some actions to easily change the default behaviors used by the system.
* **Custom editor tools** - many editor windows to make the integration process as smooth as possible.
* **Pooling and reutilization system** to create density around the player with fewer pedestrians, enhancing performance.
* **Simple API** for advanced functionalities.
* Complete **code included** and commented.
* Works for any platform that supports the **Burst compiler**.
* Requires **Unity 2021.3 LTS** and above.
