Navigation AI middleware provides automatic NavMesh generation, hierarchical pathfinding, and path following in complex game environments. Character and obstacle avoidance; splines and channels for animation-driven locomotion; dynamic NavMesh; and swappable sectors are supported out of the box. Navigation is designed to enable developers to create ambitious, more complex AI.
A complete path-following module supports reactive avoidance and moving obstacles.
Automatically generate robust and compact NavMesh data. Game developers can quickly generate NavMeshes for almost any level workflow from multisector, iterative builds to large-scale MMOs.
NavGraph enables developers to automatically link multiple NavMeshes together naturally using game objects such as ladders, climbing, jumps, multifloor elevators, and zip lines. This provides more creative freedom in level design and improves transitions between parts of a level.
Game events and obstacles can punch holes in or tag the NavMesh and NavGraph dynamically. Both the NavMesh and NavGraph can be tagged with user-defined blind data, enabling the implementation of highly complex and powerful AI behaviors.
Multisector streaming stitches sectors together at runtime using data computed during NavMesh generation. This gives clean, predictable results, no extra CPU overhead, and transparent support of swappable sectors.
A complete path-following module supports reactive avoidance and moving obstacles. The result is natural and intuitive avoidance in complex situations with dense crowds or moving obstacles. This module is user-modifiable and can be adapted to the constraints of animation systems.
Remote visual debugging tools enable developers to monitor, record, capture, and playback AI behavior in their level as soon as it is implemented. This system is extensible so that AI programmers can visualize their own AI data in the remote tool, resulting in shorter iterations when integrating, configuring, and customizing Navigation.
Multithreading and time-slicing is supported. Using multiple cores and limiting CPU usage results in more-efficient runtime performance and helps reduce performance spikes.
Navigation was designed to enable a fully transparent development experience. Developers gain full source code access and the API exposes decoupled features for flexible implementation to meet unique development needs.
An integrated visibility system enables querying if two points are visible from each other. These queries are optimized for large-scale static worlds containing heightfields.
The Navigation API is compatible with major gaming platforms: