3D navigation plugin for Unreal Engine
Aeonix Navigation is a voxel-based pathfinding system for Unreal Engine, designed for efficient and flexible 3D navigation. It leverages an octree data structure for multi-resolution spatial queries and fast pathfinding.
- Voxel-based 3D navigation with octree data structure
- Various pathfinding heuristic options for optimising against different environments
- Various path optimisation algorithms, including corridor-based string pulling using the funnel algorithm
- Editor tools for debugging, visualizing and configuring navigation data
Aeonix Navigation is organized into several modules:
- AeonixNavigation: Core runtime module containing the main navigation logic, pathfinding algorithms, octree data structures, and public API. Source is under
Source/AeonixNavigation
.Private/
: Internal implementation (pathfinding, data, utilities, etc.)Public/
: Public interfaces and headers for integration.
- AeonixEditor: Editor integration module for Unreal Engine, providing tools and utilities for visualizing, configuring, and debugging navigation data. Source is under
Source/AeonixEditor
.Private/
: Editor tool implementations.
- AeonixNavigationTests: Unit and integration tests for the navigation system. Source is under
Source/AeonixNavigationTests
.Private/
: Test cases for core features and algorithms.
- Download and extract the plugin archive.
- Place the extracted files into your project's
Plugins/AeonixNavigation
directory. - Regenerate project files and build the project.
- Configure navigation parameters in
AeonixGenerationParameters.h
. - Use the provided API to query paths and perform navigation in your game logic.
AeonixPathFinder.cpp/h
: Pathfinding and string pulling algorithmsAeonixData.cpp/h
: Octree data structure and spatial queriesAeonixSubsystem.h/cpp
: Core Unreal Engine subsystem managing navigation data, agents, and pathfinding requestsAeonixEditorDebugSubsystem.h/cpp
: Editor subsystem for debugging and visualizing navigation data within the Unreal EditorAeonixBoundingVolume.h/cpp
: Defines navigation volumes used for voxelizationAeonixNavAgentComponent.h/cpp
: Component for actors to participate in navigationAeonixGenerationParameters.h
: Configuration for navigation data generation
These files define the core runtime, editor, and integration points for Aeonix Navigation. For more details, see in-source documentation and module structure above.
Unit tests are located in Source/AeonixNavigationTests
.
Based on and extended from UESVON by midgen.
See LICENSE file for details.