UEDEV / 3D Pathfinding for Unreal Engine 5
True 3D pathfinding for Unreal Engine 5
Unreal Engine's built-in Recast navmesh can only answer one question: where can I stand? This plugin answers the one that flying AI actually needs — where is there empty air? It is a volumetric 3D navigation and pathfinding plugin for UE5 that turns the whole playable volume into a Sparse Voxel Octree, so drones, dragons, spaceships, helicopters, birds and underwater agents path through real 3D space instead of along a floor.
See 3D pathfinding running in UE5
A showcase of volumetric navigation, flying AI pathfinding, Mass Entity crowds and tactical 3D EQS inside Unreal Engine 5.
Why Unreal Engine's navmesh can't do 3D pathfinding
Recast, the navigation system that ships with Unreal Engine 5, voxelizes your level and then extracts the walkable surfaces from it — the result is a set of polygons draped over the floor. That is exactly the right representation for a soldier, and completely the wrong one for a dragon. A flying AI has no floor to walk on, so a Recast navmesh gives it nothing to query.
The usual workarounds all leak. Raycast-and-steer looks fine in an open field and gets stuck the moment there is a concave building. Hand-placed waypoint graphs are expensive to author and go stale the instant a level artist moves a wall. Stacking navmeshes at several altitudes turns 3D navigation into a set of disconnected 2D floors, and still can't route diagonally through a shaft.
Volumetric navigation solves it properly by inverting the question. Instead of storing where geometry is, it stores where it isn't, in a Sparse Voxel Octree — and pathfinds through that empty volume in full 3D.
| UE5 Recast navmesh | LCM 3D Navigation AI (SVO) | |
|---|---|---|
| What it stores | Walkable surfaces — polygons on the floor | Navigable volume — the empty air and water |
| Dimensionality | 2.5D: a surface with height offsets | True 3D: any point in the playable volume |
| Suits | Humanoids, vehicles, ground crowds | Flying AI, drones, spaceships, submarines, insects |
| Vertical movement | Nav links, jumps, stacked meshes | Native — up, down and diagonal are the same query |
| Cost profile | Scales with floor area | Scales with clutter, not level size — open sky is a few large nodes |
| Solvers | A* over polygons | A*, Theta* and Lazy Theta* over octree nodes |
| Crowd scale | Detour crowd manager | 10,000+ agents via Mass Entity, per-agent or shared flow field |
| Can they coexist? | Yes — run hybrid levels where ground troops use Recast and air units use the SVO. | |
How volumetric 3D pathfinding works
A Sparse Voxel Octree of the empty space
Drop a single LcmNavigationManagerSVO actor into the level and it owns the octree, the pathfinder and every query. The manager subdivides the playable volume only where geometry actually exists: a wide-open sky becomes a handful of large nodes, while a cluttered hangar interior subdivides down to the minimum voxel size. Cost therefore tracks how busy your level is rather than how big it is. Voxelization runs on the GPU with an automatic CPU fallback, and the defaults — a 100 cm minimum voxel inside a 200 m world cube — are tuned to be sane on a first build.
Three pathfinding solvers, three smoothing modes
Pick the trade-off that fits the agent: A* for raw throughput, Theta* for true any-angle routes that cut the corners a grid would force you around, and Lazy Theta* for near-Theta* path quality at close to A* cost. Then choose smoothing — Raw, Linear Shortcut or Curved Spline — each validated against level geometry, so a smoothed path never slices through a wall.
Macro / micro routing and infinite worlds
Long-distance routes solve coarsely across chunks first, then finely within them, which keeps a cross-map flight from paying full-resolution search cost end to end. Finite worlds build their octree once at BeginPlay; infinite worlds stream chunks in around agents and discard them behind, so open-world 3D navigation in UE5 stays inside a fixed memory budget.
Dynamic obstacles that restamp
Moving geometry writes its own footprint back into the octree as it travels, so lifts, blast doors, destructible cover and patrolling capital ships all change routing live — and in multiplayer that change is multicast to every peer.
Infinite worlds, not a bounded volume
Almost every volumetric navigation implementation for Unreal — including the open-source ones — starts by asking you to place a bounds volume and builds its octree inside it. For an arena or a level-sized map that is perfectly fine, and LCM 3D Navigation AI supports exactly that model: a finite world builds once at BeginPlay and stays put.
It stops being fine in an open world. A bounds volume has to be big enough to contain everywhere an agent may ever fly, memory scales with that box whether or not anything is happening inside it, and the moment your player crosses the edge, navigation simply ends.
Infinite mode removes the box. Navigation chunks stream in around agents and are discarded behind them, so memory stays flat no matter how far the map extends — the same reason you stream level geometry rather than loading a continent. Long routes use macro/micro routing: the path solves coarsely across chunks first and finely within the chunk the agent is actually in, so a cross-map flight never pays full-resolution search cost end to end.
That combination — unbounded streaming navigation with hierarchical routing on top — is what makes 3D pathfinding usable in an open-world or World Partition project rather than only inside a hand-placed box.
BeginPlay. Lowest overhead when your playable space genuinely is a box.Pathfinding is the easy half
A pathfinding plugin hands you a list of points. Turning that into an agent that flies convincingly, is authored by your AI designers, scales to a crowd and survives a multiplayer session is the rest of the work — and in practice it is where the integration time actually goes. That gap is what LCM 3D Navigation AI is built to close.
| Capability | Pathfinding-only plugins | LCM 3D Navigation AI |
|---|---|---|
| Route solving | A*, Theta*, Lazy Theta* | The same three solvers |
| World model | Bounds volume required | Finite or infinite streaming chunks |
| Agent locomotion | Bring your own movement | 6-DOF flight & swim component — Multirotor, Bird, Fish, Generic |
| Behaviour Tree | Stock MoveTo nodes | Dedicated tasks, decorators and services |
| StateTree | — | Native StateTree tasks |
| Mass Entity crowds | — | Two traits, three processors, 10,000+ agents |
| Multiplayer | — | Server-authoritative replication, deterministic CPU compute |
| Tactical queries | Varies | 3D EQS generators and tests scoring real volume |
| Consoles | Varies | PlayStation 5, Xbox Series X|S |
| Documentation | README | 128-page manual, 517 documented symbols |
| Support | Community issue tracker | Direct from the developer who wrote it |
Flying AI, drones, submarines and space combat
Anything that moves through a volume rather than across a surface is a candidate for 3D pathfinding in Unreal Engine 5:
Works with every Unreal Engine AI system
Whichever way your team authors behaviour, the same navigation data is available through three surfaces:
- Behaviour Tree — drop-in tasks, decorators and services including
FlyTo, line-of-sight and chunk-loaded checks, with seven documented stock-node patterns showing where an LCM node earns its place over an engine one. - StateTree — the identical flight behaviour authored as StateTree tasks, so state-driven agents get the same routing with no Behaviour Tree in the stack.
- Mass Entity (ECS) — two traits, per-agent asynchronous pathfinding or a shared CPU flow field sampled in O(1) by an entire swarm, driven by three auto-registered processors for request, solve and steer. You never call the solver yourself.
- Tactical 3D EQS — generators and tests that score real volume: volumetric line-of-sight, cover, threat exposure, height advantage and true path distance, so a sniper perch is chosen in 3D rather than on a floor plane.
- AI Perception and the Gameplay Debugger — threat tracking, nav links, area modifiers and a live in-editor debugger for inspecting the octree and solved routes.
Everything is exposed to Blueprint: 517 reflected symbols, every one carrying a tooltip, so a complete flying AI can be built without opening Visual Studio. The C++ API is there when you want it.
Server-authoritative multiplayer 3D navigation
Clients request a route, the server solves it and delivers it back through Client_DeliverPath, and moving obstacles replay their navigation footprint to every peer over a multicast. CPU compute is bit-deterministic, which keeps replays and lockstep viable, and a headless validation suite (-LcmMpTest) exercises the sanity, replicated-request, multicast-transport and digest-chain paths so regressions surface in CI rather than in a playtest.
Shipping-ready on Windows PC, PlayStation 5 and Xbox Series X|S, with the C++ core held to the same standard on every target. Nintendo Switch support is in progress.
Adding 3D pathfinding to a UE5 project
- Install the pluginAdd LCM 3D Navigation AI from Fab to your Unreal Engine 5.2–5.8 project and enable it in the plugin browser. Installation is chapter 1 of the manual.
- Place the navigation managerDrop one
LcmNavigationManagerSVOinto the level and set the world bounds and minimum voxel size. It builds the Sparse Voxel Octree and owns every navigation query from then on. - Give the agent a bodyAdd
LcmFlightMovementComponentto the pawn and pick an archetype — Multirotor, Bird, Fish or Generic 6-DOF — then tune thrust, lift, drag, buoyancy and the attitude PID. An animation-drive struct feeds your blendspaces. - Author the behaviourUse the
FlyToBehaviour Tree task, the equivalent StateTree task, or a Mass trait for crowds. Chapter 3 of the manual walks through a first flying agent end to end. - Scale upAdd dynamic obstacles, tactical 3D EQS queries, hybrid Recast levels for ground units, and switch to infinite chunked worlds when the map outgrows a single volume.
Documentation is a 128-page manual across 17 chapters, not a plugin dump: every setting is listed with its verified default and limits, and every reflected symbol is documented. Read the full documentation online →
Specifications
| Plugin | LCM 3D Navigation AI, version 2.05 — previously published as LCM Nav3D, still the name on the logo mark |
|---|---|
| Engine | Unreal Engine 5.2 – 5.8 |
| Navigation | Sparse Voxel Octree volumetric navigation, hybrid with Recast |
| Pathfinding | A* · Theta* · Lazy Theta* |
| Smoothing | Raw · Linear Shortcut · Curved Spline, geometry-validated |
| Voxelization | GPU with automatic CPU fallback |
| World mode | Finite, or infinite streaming chunks |
| Crowds | 10,000+ agents via Mass Entity (per-agent or shared flow field) |
| Locomotion | 6-DOF flight and swim — Multirotor, Bird, Fish, Generic |
| Networking | Server-authoritative replication, bit-deterministic CPU compute |
| Scripting | Blueprint and C++ — 517 reflected symbols, 100% documented |
| Platforms | Windows PC · PlayStation 5 · Xbox Series X|S (Switch in progress) |
| Documentation | lcmnav3d.github.io — 27 pages, free to read online |
| Defaults | 100 cm minimum voxel · 200 m world cube |
| Where to get it | Fab marketplace · free demo on itch.io |
3D pathfinding in Unreal Engine 5 — common questions
Does Unreal Engine 5 support 3D pathfinding out of the box?
No. UE5 ships with Recast, which builds a navmesh of walkable surfaces — a 2.5D representation designed for characters that stand on the ground. A flying, swimming or space-borne agent has nothing to path along. LCM 3D Navigation AI adds a true volumetric representation that treats open air and water as navigable space, giving Unreal Engine 5 real 3D pathfinding.
What is the difference between a Recast navmesh and volumetric 3D navigation?
A Recast navmesh describes surfaces you can stand on; it flattens a level into walkable polygons. Volumetric navigation describes the empty space you can move through. LCM 3D Navigation AI carves the playable volume into a Sparse Voxel Octree and paths through the empty nodes, so open sky is stored cheaply as a few large nodes while detail appears only where geometry actually is.
How do I make flying AI in Unreal Engine 5?
Add an LcmNavigationManagerSVO actor so the level can build its navigation octree, give the AI pawn an LcmFlightMovementComponent for 6-DOF flight, then drive it from a Behaviour Tree FlyTo task, a StateTree task or a Mass Entity trait. The plugin handles the request, the solve and the steering; you author the behaviour.
Does LCM 3D Navigation AI work with Behaviour Trees, StateTree and Mass Entity?
Yes — all three, reading the same navigation data. It ships drop-in Behaviour Tree tasks, decorators and services, the same flight behaviour authored as StateTree tasks, and two Mass Entity traits with three auto-registered processors for large crowds.
How many AI agents can it handle?
10,000 or more through Mass Entity. Two crowd modes are available: per-agent asynchronous pathfinding via the Nav3D Agent trait, or a single shared CPU flow field that an entire swarm samples in constant time. A per-agent GPU solver is in experimental validation and ships as a free update.
Does 3D pathfinding work in multiplayer?
Yes, server-authoritatively. Clients request a route, the server solves it and delivers it back through Client_DeliverPath, and moving obstacles multicast their navigation footprint. CPU compute stays bit-deterministic for replays and lockstep, and a headless validation suite exercises the replicated paths.
Does it work in open worlds or with World Partition?
Yes. LCM 3D Navigation AI runs in two modes. A finite world builds its octree once at BeginPlay inside defined bounds. An infinite world has no fixed extent — navigation chunks stream in around agents and unload behind them, so memory stays flat however far the map runs. Long routes use macro/micro routing, solving coarsely across chunks and finely within the current one. Most volumetric navigation plugins require a bounds volume and cannot navigate outside it. More on infinite worlds →
How is this different from the free open-source SVO navigation plugins?
The solvers are comparable — A*, Theta* and Lazy Theta* are well established, and the open-source implementations use them too. The difference is everything built around the solver: infinite streaming worlds rather than a required bounds volume, a 6-DOF flight and swim locomotion component, dedicated Behaviour Tree and StateTree tasks, Mass Entity traits for 10,000+ agent crowds, tactical 3D EQS, server-authoritative multiplayer replication, console support, a 128-page manual, and direct support from the developer. See the full comparison →
Which Unreal Engine versions and platforms are supported?
LCM 3D Navigation AI 2.05 supports Unreal Engine 5.2 through 5.8 and is shipping-ready on Windows PC, PlayStation 5 and Xbox Series X|S. Nintendo Switch support is in progress. Check the Fab listing for the current engine compatibility list.
Do I need C++, or does it work with Blueprints?
It works from Blueprints. The plugin is C++ for performance but exposes 517 reflected symbols to Blueprint, every one documented with a tooltip, so a full flying AI can be built without writing code. The C++ API is available when you want it.
Can it handle moving or dynamic obstacles?
Yes. Dynamic obstacles restamp their footprint into the octree as they move, so routes account for doors, lifts, destructible geometry and other moving actors — and the change replicates to clients in multiplayer.