[REQUEST] New 'Wait For New Tick' Blueprint Node

I have created set of custom target points around the world, each detailing specfics about that area, usually tactical information such as height, low cover, dead ends etc. These frequently have slots in them for adjacent or other target points that may be relevent.

I will gather some node information by radius, and some by LoS, then cast to them to get the nodes they refer to (if needed). Then store the data in a variety of arrays that I run through to check against other data.

is all used to determine where an enemy should go relevent to the player’s current position, the player’s estimated position and / or other enemy positions.

radius may be the player’s current position*, the enemy’s current position or a prediction of where the player may be based on when the was spotted last. As you can imagine, the amount of data that needs to be run through increases significantly with the size and complexity of rooms and the number of enemies around.

*I actually have a timestamp of the player’s previous location every frame for 0.5 seconds and each enemy follows that, with the delay based on a variety of factors to mimic reaction times, such as distance from and direction to the target.

Also, I’ve also just realised that in the Behaviour Tree itself you can only set the main Service to run in periods defined by seconds, not frames. makes timings more complicated too with ticks being wasted on doing nothing & it’s not clear how mulitple BTs spread their work load across frames.

I appreciate that people here may not be used to doing it but after working on so many titles that do handle AI like , it makes perfect sense to me. The suggestions on the rest of thread don’t work to me because:

  • Using delays based on fractions of a second result in spikes and troughs rather than an even spread of workloads.
  • Events can’t be added to Macros
  • Due to its frequent use, should be something that can be slotted in anywhere into a Blueprint as easily as a delay.