Is Tick called every frame?

When I call/override the Tick function, is it executed every frame of the scene? Kind of like an update function?

Yes, that is main purpose of Tick, to update state of a object for next frame, it also give you delta time which is time passed (in game world) since last frame

Thanks a lot shadow for clearing that up.

Someone more knowledgeable please correct me if I’m wrong on this, but I believe there is a subtlety.

Tick, as part of game logic, is called on a different thread than the renderer, and so it’s not perfectly guaranteed to call every single time the screen is drawn (so not every frame in the traditional sense of the word). However, for the purpose of gameplay, it’s called at the highest possible frequency (i.e. after the smallest amount of change to the world).

As far as I know, you are perfectly correct. As a corollary, I think this is why the engine has TickGroups - so you can specify during which part of the update an actor is ticked. I also think that the devs are busy removing the TickGroups, but I’m not sure about that, or even how updates will work without them.

While the game logic and the renderer execute on separate threads they do not operate at independent frame rates. Every render frame corresponds directly to a game logic frame.