Skip to content

Enable CompensationFactor

If your agents have decisions that contain a lot of considerations, you should enable Compensation Factor to ensure the decision scores are not quite low.

Enable KeepRunningUntilFinished

If your agents have an important decision that you don’t want to interrupt while it is running, regardless of whether there is another decision with a higher score, you can enable the KeepRunningUntilFinished option of the decision to prevent the agents from making a new decision while it is running.

Enable MomentumBonus

If you want to prioritize the last chosen decision-target pair in the next decision-making round, you can set the Momentum Bonus to a value greater than 1.0 (usually between 1.1 -> 1.25). In the next decision-making round, the last chosen decision-target pair will be prioritized by multiplying its score by the Momentum Bonus, increasing its chances of winning and thereby reducing oscillation between decision-target pairs with nearly equal scores.

Add Fallback Decision

You should add a fallback decision with a constant score so that your agents always have a decision to run.

  • For example, in our example scenes, we always add the Idle decision with a score of 0.1. Therefore, when our agents find themselves in a situation where they don’t know which decision to make, they will be idle.

Adjust Decision Weight

If you want to prioritize one decision over another, you can adjust its weight to be higher than the other.
For example:

  • Normal Layer’s Weight: 1.0
  • Combat Layer’s Weight: 2.0
  • Urgent Layer’s Weight: 3.0

Use empty TargetFilter list for decisions that target all entities

If the targets of your decision are all entities in the current utility world, you can leave the TargetFilter list of the decision empty. For decisions that have targets and an empty TargetFilter list, the utility world will pass all its entities to the decision.

How Tos

How to enable or disable a decision based on a condition

Add a boolean consideration that returns 1.0 (true) or 0.0 (false) depending on the condition result.

How to enable or disable decisions based on states

Add a state consideration to each decision. See the recipe for a state consideration here: IsStateConsideration.

How to add some randomness to a decision

Add a random consideration to the decision. See the recipe for a random consideration here: RandomConsideration.

How to reduce score oscillation between decision-target pairs

For more information, see: How to reduce oscillation between decision-target pairs with nearly equal scores.


If you haven’t already, please consider leaving a review on the Asset Store. Whether good or bad, your feedback helps shape the future of this framework, and lets others determine whether it’s a good fit for their games. Thank you so much!💘 I love you all!🥰


Last update : October 11, 2025
Created : January 18, 2025