Influence System Plugin
Influence System Plugin is a spatial reasoning system primarily developed for use with Unreals AI system.
The plugin is built as a framework but comes with a default implementation using 2D grids to store data tied to locations in the world.
Data can be added both in the editor at design time and during runtime. During runtime the system allows for fast querying for information to give actors and other systems a better understanding of the world around them.
The plugin is built in C++ with Blueprint exposed functionality
What does it do?
The system facilitates easy and fast reasoning about the world for use with AI systems (Also completely fine to use with other systems of course).
It lets you query the world for information tied to locations, for example presence of other pawns on the same team or where the greatest risk of something falling on the pawn might be.
The system also lets you use this information for navigation queries, using a virtual navigation query filter, to influence the path a pawn takes (the path cost) to reach its goal. So if you want your pawns to stay in the shadows and be very very sneaky this might be just what you need.
How it works?
Influence Values are represented as values between 0 and 1, meaning no influence or full influence. For the default implementation these values are tied to 2D grid cells within the bounds of an Influence Grid Component.
These values are tagged with an Id representing an “Influence Map” which allows layering of information in the grid. An Influence Map can for example represent the distance to the nearest wall or the amount of light in an area, or just the presence of other actors which can be updated at runtime.
Values are set using Influence Events. These events come either as static events or dynamic events, which have a lifetime and the ability to change their value over that lifetime.
The system can then be queried at runtime for information tied to specific locations in the world. Queries can contain filters that filter the returned values by Influence Map and/or Source as well as weighting map values to give you the information in the way you need when you need it, without tracing or looking up objects.
In the editor Influence Events can be generated using Influence Build Actors and at runtime using a simple blueprint node.
Querying can be performed either in an async or synchronous manner also using blueprint nodes.
All functionality is of course also available through C++
Marketplace Link](Influence System Plugin in Code Plugins - UE Marketplace)