This package includes high performance, modular and scalable navigation for agents. It is developed with DOTS in mind. As a result, it takes advantage of Unity's latest technology stack, like SIMD mathematics, Jobs, Burst compiler and EntityComponentSystem. Additionally, there is hybrid mode support that enables using it with GameObjects in Object Oriented Programming.
Pillars of this package:
What navigation features are contained in this package?
Extensions:
Can I use this in non ECS/Dots code?
Yes, there is a hybrid workflow where Game Object are synced with Entities. This allow to use this package in Object Oriented Programming too. Of course, it should be expected that performance going to be slightly worse.
Can I use it with ECS?
Yes, this package uses ECS.
What game genres this navigation targets?
This package was developed as a foundation for any navigation needs. However, this early version is currently focused on 3D/2D RTS, Moba, RPG, Shooter style genre games navigation.
Can I extend functionality?
Yes, the package was designed in mind that it could be extended as every game has unique needs for AI navigation. This solution is very modular and allows trivial adding/removing of existing behaviors. However, to extend functionality efficiently, you will need to have knowledge of ECS.
Can I use this package with other pathing solutions (etc. A* Pathfinding Project Pro, AnyPath)?
The solution in this package is very modular, so users can extend it to use different solutions without needing to modify this package. Currently, it has out of the box integration with A* Pathfinding Project.
Is it deterministic?
All systems are running in fixed update. In theory, it should be deterministic for Intel/AMD platforms (Burst). However, it still uses floats for navigation operations, which will not produce deterministic code across all the platforms. In the future, I plan to address this by introducing fixed point types.
How does this package differ from Local Avoidance?
This is a new version of local avoidance. It is a separate package as it contains a much bigger scope than just avoidance, but full navigation (etc. global pathing, boids, collisions...). For those who have a Local Avoidance package, they can do a paid upgrade instead of paying full price.
As I am a huge Diablo 2 fan, I created a small prototype of an ARPG heavily based on it. Since it uses my agent's navigation package, it serves as a nice example of how this package can enable an actual game project. For those who are interested, here is the link to it!
Support Discord, Forums, Documentation
Review Turbo Makes Games (Sales information is outdated)
Showcase Inferno, Mass Conflict, They Fear the Mist
Dependencies