Why is FTickableGameObject::Tick() being called in the editor?

I just ran into this in UE5.0.3 and thought it might be useful to note what I saw:

  • The behaviour as described still seems to be happening.
  • Overriding GetTickableGameObjectWorld didn’t seem to alter the behaviour at all.
  • After BeginPlay (at least when PIE) I saw three calls to IsTickable for each object. Confusingly, in two of those calls GWorld->HasBegunPlay() return false, and in one it returned true.
  • However just the call to IsTemplate seemed to be enough, i.e. if I only return true from my overriden version of IsTickable() (if the class is not the default object) then I only see a Tick called on the correct object, and only when playing.