About the talk
Recast’s out-of-the-box navigation features are a good baseline and suitable for many games. However, most companies need to make significant modifications to make Recast’s navigation solution work for their game. While these modifications might work for one project, it might not be suitable for the next. In this talk we showcase how we built an extendable and reusable custom navigation stack that leverages Recast.We explore how to utilise Recast as part of a larger framework by breaking the generation process into individual plugins that form a tile generation pipeline. Each plugin lists the plugins it is dependent on, which forms an ordering. More importantly, this allows us to add additional plugin extensions leveraging the data that Recast produces.Using this framework, we show how it can be extended to implement features like hierarchical pathfinding, multimodal navigation (e.g. traversing multiple navigation meshes), and how to synchronise custom data. This naturally extends to custom extensions that automatically generate navigation links and cover locations.We showcase how this framework can combine multiple navigation meshes into a single system that constructs a unified navigation stack that works for all actor types. Furthermore, we show how it can encode additional constraints such as wading depth and affect pathfinding to avoid areas that are in line of sight of enemies.We showcase our framework in Unreal Engine and demonstrate that this custom navigation solution vastly outperforms Unreal in time, memory, and quality.
Takeaway
– How to build a reusable navigation system;
– The benefits of building a custom navigation stack
– The merits of building a navigation system with extensibility as a first-class citizen
Experience level needed: Beginner
