By default, some objects in Unreal are tickable and some are not. UUserWidget has a NativeTick function, but a lot of other UWidget subclasses are not. Similarly when implementing Subsystem singletons I often want to make them tickable.
Making something tickable is a lot easier than I first thought. If your class implements the FTickableGameObject interface it will automatically be ticked! It does not have to be a subclass of UObject, it can just be a regular struct or class.
This sample code should be all you need to get started: