BT service is not executed

I have a BT where i have a service (AgroCheck) that checks if the player is close, and changes some variables in the blackboard that store the player position and the state of the AI. Depending on the position of the player, this can execute one of three branches:

  • Follow player: this executes if the AgroCheck detects the player is close and on sight. It moves the AI to the player position
  • Check last known player position: this executes if the player stops beeing on range or sight. It moves the AI to the last known player position
  • Wander around: this executes if the player is nowere to be seen. The AI will chose a random point an perform a “moveToLocationOrActor” to that point.

This is the BT:

My problem is that when the Wander task is executing, the AgroCheck service doesn’t. This means that even if the player appears on sight of the AI, if the AI is “Wandering” it won’t notice it, because it’s not doing the AgroCheck.

Maybe i’m not understanding services, because i was expecting the service to be executing continuously, paralel to it’s children.

So my question is, ¿how do i make my AI execute the AgroCheck continuously?

Note: i’m aware of the “simple parallel” node, but if i used that, ¿what would be the point of services?

i’ve run into this as well. when moveto is assigned an actor, the the pawn accurately follows the actor on location change. but if the moveto is assigned a location, things get problematic, and nothing seems to execute until the moveto is complete. aborting the move doesn’t really work either due to behavior tree rules, so in my case, i included a some simple low overhead logic in the tick of the ai controller that checks for movement change and then restarts brain component tree there instead of using the service in the BT.

i agree, this sorta takes away the point of behavior services, but at least temporarily solves the problem.

I gess i’ll do that. I was waiting for other answers but it seems that there is no better solution for this. Maybe i should report this as a bug?