Download

Best method to pump online systems

Apologies if I am missing something obvious, but I am trying to architect my game and in my experience I have had something like an OnlineManager to manage things like connections, notifications of server going away, players coming online and so forth. I am using an external system to handle much of the work that an online server would handle, but I have to pump/update it periodically to make sure data gets sent and consumed in a timely manner. The documentation suggests using an actor’s tick() method, which I think would work, but I don’t really see my OnlineManager to be an actor.
I have looked at the GameInstance and GameInstanceSubsystem, but these do not have a built in tick or update method, though they have the lifetime I am looking for (create on game start, destroy on game end). I could make it am FTickableObject, but then I am not sure who should own it. I could subclass GameInstance and then create it in there, but again this doesn’t quite feel right.
Ultimately, I would like a system that I can tick at a specific rate, and will have the lifetime similar to GameInstance and ideally be owned by that class as well. Perhaps a GameInstanceSubsystem that creates my OnlineManager, then schedules a timer to update it on the cadence I want.

Does anyone have a much better approach or is there some system or pattern in Unreal that I am not aware of that would make this trivial?

Thanks!

No takers? Any advice here would be helpful if you have any experience.