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!🥰

Created : January 18, 2025