Changing tick interval?

Is there internal support for adjusting the tick interval for a UBlueprintAsyncActionBase UObject? or is the only option to add a gate to Tick?

UBlueprintAsyncActionBase is based on UObject that does not tick. The lowest object in the hierarchy that can tick if I remember right is AActor.

You could use a looped timer to call a function.

UBlueprintAsyncActionBase absolutely can tick. You can make a ticking UObject using it. You just need to establish the world context, which I am. Making tick work isn’t really my question here though. I’m trying to figure out how TickInterval is handled internally as am having a hard time finding it in source, but seams like it’s just a time gate on Tick and nothing fancy beyond that.

Run a timer in your actor’s Tick() and only do stuff when the time is elapsed. Amounts to the same thing.

Not sure I’d mess with some global Tick() for everything because, among other issues, it would probably make animations look real choppy.

I don’t see a reason to use a timer in tick when I’m already in tick. I can just use a time gate. Something like the below.

TickIntervalTime -= DeltaWithTimeDilation;

if ( TickIntervalTime > 0.f ) {
	return;
}

TickIntervalTime = TickInterval;

// DO TICK BEHAVIOR HERE

I was just wondering if there was an internal function for handling this automatically or where I can further review how AActor handles it as I’m having a hard time finding the tick interval logic.

Yeah what you have there is what I was suggesting. Not a separate Unreal Timer class thing. :+1: