Updated to 4.12+
BTUtility is a simple plugin that adds a new node type to the UE4 behavior tree. It doesn’t require C++ or any special integration steps.
The Utility selector is similar to the built in Selector node, but prioritizes children based on a utility value attached to each child via a special decorator node.
There are three basic types of utility decorator: constant, blackboard, or using a custom blueprint that will evaluate each time the Utility node starts.
Example uses are to add some random variation to AI behaviors, or to select a behavior by weighting various criteria to determine what is most important to the AI at the time.
It’s available in binary form (just unzip into …/YourProject/Plugins or Engine/Plugins) and the source code is also on Github (MIT license).
Links and more info here.
This was originally an engine mod and there’s still a chance it might make it in as a PR at some point. It’s been sitting around for a while though, so when I realized most of it could be done in plugin form I figured I might as well release it to the community now.
Enjoy, and if you have any questions or problems with it, just post here. Cheers.