GOAP NPC: Goal-Oriented Action Planning for Non-Player Characters (Code Plugin)

Narratech Laboratories - Jun 17, 2020

Easily define the behavior of your non-player characters with the power of Actions, Goals & Plans!

  • Supported Platforms
  • Supported Engine Versions
    4.23 - 4.25
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Unlike traditional approaches which uses complex (and difficult to maintain!) behavior trees or finite state machines, GOAP NPC keeps game characters' behavior simple, efficient and user-friendly.

Here you can watch a short video which showcases an example scenario with different behaviors, and some explanations about how to create your own.


Goal-Oriented Action Planning (GOAP) provides a generic and natural way to build Non-Player Characters (NPCs) with Artificial Intelligence (AI). Used in modern commercial games (Shooters, Action RPGs, etc.), it offers smart decision-making with great scalability.

This system allows you to describe the behavior of your intelligent agents using ACTIONS and GOALS. Actions are independent tasks with their own preconditions, costs and effects, while goals are finish conditions for character's PLANS. Thanks to the popular A* heuristic search algorithm, the GOAP system knows which actions to perform in order to achieve certain goals, generating a dynamic plan, without having to define explicit transitions between world states.


This code plugin represents a ready-to-use framework for both development and debugging (in C++ and/or Blueprints) of GOAP NPCs while maintaining optimal performances. We recommend that you watch this short video to get an idea of how to use the new features provided by this code plugin.

Technical Details

Features:

  • Ready-to-use Goal-Oriented Action Planner in a single module.
  • Heuristic search using A* algorithm.
  • C++/Blueprints compatible framework.
  • Customizable Action and Controller Blueprint templates.

Number of C++ Classes: 5.

Number of Blueprints: 0.

Supported Development Platforms: Windows, MacOS and Linux.

Supported Target Build Platforms: Windows 64-bit, Windows 32-bits, Android, MacOS and Linux.

Documentation: GOAP NPC Manual (PDF file).

Example Project: GOAP NPC Demo (GitHub repository).

Important/Additional Notes: GOAP NPC Version changelist (GoogleDocs).