I am not sure about where to post this, because it’s not too much about gameplay code but rather closer to the engine layer. If I chose the wrong section feel free to move or delete this topic.
So after a long time considering possibilities, I stopped working on my own engine and started to study this one, considering how I will implement the stuff my game idea needs. The most important feature I want to implement is [ONLINE]. Said that, this has been my focus of study in the last couple days when checking out the source code and example games. I liked the replication module, it’s cool, but I am not sure if it will be enough for a fully online game with ambitious goals. Wouldn’t it have security pitfalls? Also, I’m much more comfortable with the traditional, lower-layer way: dedicated server done from scratch and the communication through encrypted binary packets with opcodes.
And my question is: does anything like this exist in the engine? If not, what would be the best way to approach it? I just need a way for the clients (Unreal) to connect to a non-unreal server and communicate with it through a low layer approach (byte buffers/char arrays).
Still, I would prefer to use my own framework for the networking part, because in online games security is the most important thing and by using a set of utilities which I still don’t even know how to use this will be impossible to achieve (not Unreal’s fault but mine)… Plus I have my own networking framework already.
All I need to know is what is the best way to implement such a module in a UE4 client. I can do a separated class using the engine’s lower level networking utilities, but where do I store and initialize/release its singleton? In the game instance?
My approach would be to write a plugin. To initialize/release singletons i think the best place would be to override the **StartuModule ** and **ShutdownModule ** methods.