Navigation and behavior tools in Unreal Engine

Kythera AI

Advanced NPC Navigation AI

Kythera generates Navigation Meshes automatically and updates them as the world changes. Its hierarchical pathfinding routes NPCs across huge, streamed open worlds in a fraction of a millisecond. Navigation also covers navigation links, automatic cover generation, terrain analysis, real-time avoidance and navigation on moving objects.

3DFlightNav_ScreenshotDraft5_2_Full.png

Intelligent movement across worlds of any size


In large open worlds, NPCs are only convincing if they can find their way through cluttered levels, around obstacles, across multi-level buildings, and over the distances a full open world covers. This is usually where navigation built in-house starts to struggle, because handling that scale well is hard. Kythera is built for it. It generates navigation data automatically, routes NPCs across large, streamed worlds in real time, and keeps that movement sensible as the world around them changes.

What Kythera’s navigation can do


Automatic Navigation Mesh generation 

Kythera generates high-quality Navigation Meshes for your level automatically, and regenerates them while the game runs. If the world is altered or a structure is destroyed, the affected mesh updates to match, so characters plan routes against the current state of the world rather than the version loaded at start-up. That takes a large amount of manual setup off your team.

Traversing obstacles and multi-level structures

Navigation links let characters move through and over obstacles and navigate multi-level structures such as buildings, bridges, and complex level geometry. Kythera can generate these links automatically, or you can place them by hand where you need precise control. Movement is no longer limited to open ground, so characters can use interior spaces and move between levels. You can also add your own link generators to support your characters’ unique ways of moving. 

Hierarchical pathfinding at scale

For a large open world, Kythera's hierarchical pathfinding returns routes across a massive, streamed map in a fraction of a millisecond. It plans the broad route first and fills in detail only where the character needs it, instead of evaluating the whole world at full resolution. This keeps long-distance pathfinding cheap enough to run for many characters at once, and it works even when parts of the world aren’t streamed into memory.

Terrain and environment analysis

Kythera captures surface properties automatically while it generates the Navigation Mesh, so characters can follow roads, avoid hazardous ground, and respond to terrain conditions without anyone placing cost modifiers by hand.

An extensible navigation pipeline

The navigation pipeline is extensible: you can encode information such as wading depth or set movement constraints for particular character types. Characters of different sizes can also share a single Navigation Mesh. You could, for example, build influence maps, or add data that lets characters avoid well-lit areas to stay hidden from players.

Real-time, perception-aware avoidance

Characters steer around obstacles and one another in real time as they move, so crowds and columns keep moving instead of colliding. Avoidance can also be made perception-aware, so a character only avoids what it can actually perceive, which keeps its behavior believable and makes room for tactics and stealth that turn on what each side can and cannot see.

Automatic cover generation

Kythera analyses your level geometry and finds the places where characters can take cover, so designers don’t have to mark up every wall and crate by hand. Those positions are then available for your AI to query when deciding where a character should take cover during an encounter. Use Kythera’s default cover types or add your own classifiers to fit your game’s cover mechanics, and query cover points by properties such as exposure or orientation.

Navigation on moving objects

Not every floor stays still. Kythera can attach a Navigation Mesh to a moving object, such as a ship at sea or a rotating platform. Characters then move around on it as if it were stationary while it travels and turns through the world. Because the mesh moves with the object, it doesn’t have to be rebuilt as the object moves, which would otherwise be expensive. Navigation links, cover and terrain analysis all work on moving meshes too.

What this means for your game


Worlds are quicker to build, because the navigation and cover data is generated rather than placed by hand. Characters keep moving sensibly as their numbers grow and the world changes around them. You get all of that without building and maintaining a navigation system of your own, which would otherwise take years of engineering.