The HTN Planning plugin lets you create AI that can plan multiple steps ahead by predicting the consequences of its actions. Here are some examples:
Video: an HTN-based character inventing the optimal plan to attack a target
Video: two groups of HTN-based characters tactically fighting in a simple FPS arena
Just like with Behavior Trees, you can easily create Tasks, Decorators, and Services from either C++ or Blueprints, and arrange them in a visual graph editor. The HTN planner uses Blackboard data to store knowledge about possible future worldstates. Nodes check and modify values in the worldstate during planning, which makes it possible to make decisions based on possible future states. The planner efficiently finds the plan with the lowest cost, or the one with the highest priority.
Compared to other planning techniques like Goal-Oriented Action Planning, HTN planning is more efficient and gives designers much more control over the AI. It can be as rigid as Behavior Trees, or as flexible as GOAP. You can create AI with just as much autonomy and flexibility as you need: an AI that selects between predefined sequences of tasks, or an AI that is free to arrange its tasks in any order to achieve a goal, or anything in between.
Features:
Node-based HTN graph editor
Seamlessly use Blackboard data as worldstate
Make custom Tasks, Decorators, and Services in both C++ and Blueprints
Create composable behaviors using subnetworks
Make subplans within plans to freely mix planning and on-the-fly decision-making
Cost-based or priority-based planning
Parallel planning
Any-order planning
Integration with the Visual Logger, including visualizing the current plan
Integration with the Environment Query System for complex movement planning and decision-making
Realtime debugging features
Extend the HTN Component with HTN Extensions
Full source code access