How can I set up multiplayer account management?

Hi

So I am currently in the process of porting my game over from Unity to UE4 and have a few questions. I am making a multiplayer game and the replication system seems ideal for that and that is all ok. What I am wanting to know is what is the best way to deal with user accounts etc. I am making a futuristic sports game which requires users to level up etc. I have a lot of the server side implemented already which is designed in such a way I could easily move it over to another framework (currently using Photon). I have seen these online system interfaces and wanted to know what they were all about. Would these be useful. Would be good to get peoples thoughts on what was the best approach.

Thanks

Hello Phoenix,

Apologies for the delayed response. The online subsystems in UE4 are a set of cross-platform interfaces to interact with the online services provided by various platforms - for example, if you are a Steam developer with access to the SDK, you can use the online subsystem to login to Steam, perform matchmaking, award achievements, and so on.

The online subsystems do expose per-user cloud storage, which is supported on Steam. Take a look at IOnlineUserCloud in OnlineUserCloudInterface.h, but keep in mind this is generally used to store data such as save game files in the cloud.

Setting up a custom server outside of the provided online subsystems to handle user accounts is unfortunately a bit beyond the scope of UE4 right now. You will probably need to set up your own server for this and add code to your game client to communicate with this server. Since you’re already using Photon it may be possible to write a UE4 plugin that acts as a Photon client, communicating directly with the Photon server - the Photon developers may be able to help out here.

Happy to help. Writing a new online subsystem for your custom service would actually be a good route to take for the client side, if you feel your service will be providing functionality similar to what the interfaces expose already.

Hi Ryan

Thanks for the response, don’t worry about the length of time don’t have time until the weekend to look into it more anyway. That is a shame as I felt that the OnlineSubSystem would have been perfect, even if it meant me writing an additional one for my own service. I have a lot of experience in writing servers so the server side of stuff isn’t a big worry for me even if I have to write what I have done so far to support UE.

I will look into writing my own plugin then which I can tie to to blueprints to make it a bit easier on my less experienced coders in my team.

Thanks for your time.

Yeah a lot of the interfaces are actually very similar to what I have right now. Only things really different are ones such as equipment and skill equip. But I could look into ways around that.