Creating Non-Actor Objects

For this use case you should make a custom GameInstance, and create your manager objects from there.

class MyGameInstance : public UGameInstance
{
 private: 
	UPROPERTY()
	UGameManager * GameManager ; 
    // UPROPERTY() is necessary to prevent from being garbage collected
}

You’ll also need to change the default GameInstance from Project Setting:

Edit->Project Settings->Maps & Modes->GameInstanceClass -> "MyGameInstance"

GameInstance don’t have Tick function, but you can achieve the same thing using a looping timer.