Service node interval not working as intended?

I got a service not in my behavior tree which is written by me in c++.

Everything works fine. But the only problem is no matter what I set the interval to, the service node is getting called each tick.

I wrote a GEngine->AddonScreenDebugMessage in my service node to test how often it is called. And set my interval to 50 seconds. But I see the messaged is being printed each tick.

I am having this same problem with a behaviour tree being run from a non-controller actor. Have you managed to resolved this issue?

+1
I just noticed this today while increasing the interval of my service because I didn’t want them called too often. The test print in my service ran every single (real world) tick no matter what what I set the tick interval to!

I hope someone from Epic addresses this.

Nope not managed to resolve it. I can be solved by using another counter easily though if you really need to use it. But it is not the best method.

The question was answered for me recently in this thread: BT Service Ticks every frame 4.5 & 4.6 - Programming & Scripting - Unreal Engine Forums

It’s simply that the service is re-initialized when the BT branch is restarted. The service will not run on every tick if the branch it is called from has work to do for a longer period (as far as I understand it)

Thank you! That answers it very well.

I was using a delay node as a workaround as well. However Grogger has kindly posted the solution above.