Heya o/ I’m facing a strange behavior where it seems like nodes in a Sequence take a tick EACH to execute. They all return success instantly (apart from the MoveTo, but even that finishes instantly if the target is already close by), and have very little logic (few simple cpp lines), yet logging inside their ExecuteTask (or comparing their timestamps in debug of BT) shows around 54ms gap between the first and last node under Sequence (out of which 13ms was the MoveTo, same as the MarkAsCommited Node which immediately returns Success).
Does anyone have an idea why does BT behave this way? My understanding was the BT should process as many nodes as it can in every frame until it hits a latent node. But perhaps this is wrong, as I’ve come across a vague mention of BT’s behavior changing around UE4 or so? Is this the intended behavior or is there some settings I’ve missed? I don’t really have a problem rewriting my AI into a more custom logic struct inside Tick, I was simply hoping to leverage an existing mechanism of UE.
//EDIT: Both debugging the code and checking the Visual Logger shows the nodes indeed run only one per frame - well visible here as they align with AI Controller Tick (The missing one is the MoveTo).
So I suppose my question turns more to - as this node per frame is a dealbreaker for my scenario, is there any settings for the BT I might be missing that adjusts how it behaves or am I off to write my own?