Simple but highly customizable plugin for pathfinding. Find paths in free 3D space, on ground, on walls, 2D grid, or even 2D side scrolling with jumping. Easy default setup with examples, core features exposed to blueprints.
BASIC SETUP VIDEO TUTORIAL | SHORT VIDEO SHOWCASING INCLUDED EXAMPLE LEVELS | ADVANCED TUTORIAL
Blueprint exposed customization:
C++ customization:
Graph is generated at runtime, by default at begin play. Both generation and pathfinding requests are done asynchronously, on up to 32 threads.
Core functionality is a single global Find Path function, that takes two world locations and returns an array of nodes between start and end location.
Supports dynamic obstacles. Making an object affect the graph in real-time is as simple as adding a component.
Path following should be implemented by the user. However, the plugin does include a simple flying pawn, with an example implementation of a "GoTo" function. It is showcased in provided example levels.
Pathfinding is implemented via customized A* algorithm with post-smoothing. It's faster than Theta* while producing very similar results. Implementation details will be included in my thesis (work in progress). The code is also available on GitHub.
Patch Notes
Version 1.03:
Version 1.02:
Version 1.01:
Features:
Code Modules:
Number of Blueprints: 2
Number of C++ Classes: 9
Network Replicated: No
Supported Development Platforms: Windows
Supported Target Build Platforms: Windows*
Important/Additional Notes:
This plugin is part of my Engineering Thesis and it's the first iteration of it. In future, it will be heavily updated, with even better performance (however it's perfectly usable right now on projects of any scale), will most likely come with a price and a detailed YouTube video, as well as more example levels (2D setup, wall climbing setup, tile-based setup, etc.)
[UPDATE]:
I successfully defended my thesis in February 2023, so it will be publicly available 6 months from then.
I have also updated this free version more than I planned, but this 1.03 update is most likely the last impactful one. I will still update it to support newer engine versions, and potentially fix bugs if any new ones are found.
Thanks to everyone for all the positive comments! :)
* It should work on all platforms supported by Unreal Engine 5, however it has only been packaged and tested on Windows.