Game Center Multiplayer

Hello!
I apologize if this is a silly question, but i cant seem to find exactly what i am looking for. My question is this, can you make a real time multiplayer game for ios using ue4??

To my understanding, you can specify the online subsystem to use game center? If that is true, does that mean, for example, i can make a pong clone for iOS. Then i can sit on my couch in new york with my iPad, and i can play against my friend in California on his iPad? UE4 handles match making, partying up, etc through game center “automagically”?

Lastly if it can be done, does anyone have a good example of doing this?

This is not possible with blueprints yet so you would have to use code to implement this.

Sorry I should have been more clear. I am more than fine using c++ to do this. What I want to do can be done in c++ and the unreal online system? If so, any tips on how?

I’m not familiar with Game Center, but in theory you could use Google Play Services to create crossplatform multiplayer.

Even if you don’t care about Android, Google has code that you can implement easily in your game if you’re comfortable with C++.

And they have some tutorials on how to do this, so yeah in theory using their code you can find a way to manage match making, partying, leaderboards, achievements… almost automagicaly.

My understanding of the UE4’s Online Subsystem is that you didn’t need to implement any 3rd party code, it would integrate with ios and google Play by just changing the online sub system in the ini file?

I might not be understanding it correctly though.

Hello!

Sorry for the late reply on this, I only just saw this thread.

It will take a fair amount of work on the c++ side, but it should be possible. For real time multiplayer, there are two major steps - matchmaking then sending data during the actual match. Apple’s overview is here: Real-Time Matches. For matchmaking, you will need to override the matchmaking functions in OnlineSessionInterfaceIOS with the game center functionality. For sending data during the actual match, you will need to implement a Game Center net driver and a Game Center socket subsystem to call sendDataToAllPlayers to send data and to register for the didReceiveData callback.

Hopefully this helps a little bit, I’d be happy to answer any more specific questions.

I saw this in the 4.8 release notes:

“New: First pass of turn-based matches have been implemented for iOS. This feature is still experimental and will be more fully supported in the next release.”

I assume this is for turned-based matches with gamecenter?

It was great help, thank you for taking the time to reply! I understand what you are saying (at a highlevel), and will look into it more. Thanks!!

Yes, this is intended for turn-based multiplayer only. It is possible that some of the matchmaking logic could be shared for real-time and turn-based multiplayer games, but I haven’t looked at it closely yet.

I know my original post mentions being able to play with someone across the county, and that adds a lot of variables. However, for the sake of discussion, if i wanted to build an ios game, that had just LAN multiplayer, is there any reason that cant be done without using game center? Unreal makes a LAN game so easily, but i always thought of PC when i thought of that, is there any reason that LAN tech couldn’t be used on ios?

So to do another **super **simple example like my original post, could two people on the same network, with two separate ios devices, play a multiplayer game with each other without game center. One being the listen server, the other being a client?

This is an interesting question , would be nice to get an answer for That ! Because it is not That easy to make a realtime multiplayer Running with the ios subsystem.

Bumping this thread.

Need to know if there is an easy way of doing LAN based multiplayer on iOS, without the need of Gamecenter.

Also, one more thing, I have already created a multiplayer game which works on PC on Lan, without using Steam. Game is created on Blueprints entirely. Is there a way to simply run it on iOS and it would work? What extra stuff would I have to do on it?

Has anyone looked into a 3rd-party option, like GameSparks? I’m investigating that now, and it seems possible, but I’m not sure if there would be any drawbacks aside from sidestepping the UE4 built-in networking.