# Key Features

### **Nominated for Best Development Tool on the Asset Store at Unity Awards 2021**

* **Trucks with trailer support.**
* **Pathfinding on waypoints**. Method to find the shortest path between 2 waypoints using the existing waypoints inside the scene.
* The ability for traffic vehicles to **follow a given path**. Method to make any vehicle form anywhere in the scene to reach a specific destination.
* **Overtake** - cars automatically overtake each other if the road has multiple lanes.
* Traffic vehicles will **clear the way for ambulances** or other special cars if specified.
* Traffic lights intersections support.
* Priority intersections support - cars decide by themselves to wait or to enter an intersection.
* **Roundabout support** - cars wait until the roundabout is free.
* **Narrow road support** - cars wait until the lane is free before changing it.
* The **Complex Give Way** feature allows developers to designate specific waypoints that must be clear for a vehicle to enter an intersection. This capability is particularly useful for scenarios where there's a larger priority road intersected by a smaller side road. By utilizing Complex Give Way, developers can establish this setup without creating a traditional intersection.
* **Zipper style give-way**. Useful when a multi-lane road converges or narrows. Vehicles take turns advancing into the narrowed road alternately.
* Building avoidance - if a car hits a building, it will try to recover itself.
* **Player component**. A script that makes traffic vehicles give priority to the player in an intersection. Additionally, it provides the capability for traffic vehicles to overtake the player's car.
* Customizable vehicle properties - acceleration, max speed, brake speed, steer angle etc.
* **Variable number of wheels** - from 3 to as many as you want.
* Automatically car assignments - made just by pressing a button.
* **Speed routes -** set speed restrictions for some lanes or areas and all cars will follow them.
* **Car types** - assign different types to cars and you can restrict access on some roads based on car types (ex: trucks are allowed only on the first lane and are not allowed inside the cities).
* **Priority waypoints**. Ability to set the importance of the roads. Useful to spawn more vehicles on the main roads and fewer on secondary roads.
* **Lights support** - main, brake, blinkers, and reverse lights that work automatically.
* Sound support - basic engine sound for each car based on acceleration and speed.
* Hard shadow support - useful if you need even more performance.
* **Custom events on waypoints**. Those events are triggered when a vehicle reaches a specially marked waypoint. Useful for dynamic actions inside the app.
* **Switch the direction of the entire waypoint network with a single click (currently in beta).** Used for right-hand and left-hand traffic scenarios.
* Capability to programmatically make a traffic vehicle to change lanes.
* Ability to override the vehicle behavior from the API.
* Capability to have **vehicles** inside the vehicle pool **that will not be instantiated by the system**. They need to be programmatically instantiated at the right 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.
* 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.
