Cross-Platform Networking (Android + PC) - Is it possible?

Without going into too much detail about what we’re doing (NDA), I’m trying to find out if we can host a game on a Windows PC, with Android Tablets playing the part of the clients (a total of 32 of them maximum).

Luckily for us, we know that we’ll be working on a LAN network. The Server itself will be running the game (we hope), and powering three large displays. The Clients will work together to control pawns in a persistent world across the whole system.

We really want to go with UE4, but this network power is the priority. Is this something we can achieve with Unreal?

Mac/iOS development is not an option at this time.

I assume it’s possible as Trendy enabled cross-platform multiplayer with Dungeon Defenders using UE3, so it may be the same or similar process with UE4. They used GameSpy tech to also help out with this, so I’ve read:

Thanks for the link, would be great to get some EPIC feedback on this also. We want to keep the 3rd party tool useage to a complete minimum, handling everything in UE4 where possible.

Obviously aside from the Android SDK, which we’ll no doubt need to publish to the devices. The game is strictly LAN (Not online) and not part of any app-store, it’s a one-off game for already determined hardware.

Bumpity Bump

Network is network. Collect data, send data, receive data, interpret received data, repeat. The key is to know your platforms - the endian-ness might be different, so you’ll have to know what platform it’s coming from and what platform you’re on to correctly interpret your data. Since you’ve indicated that the hardware is already known then this information is also already known. Implementation will of course vary per platform but you are sending and receiving your own data so you know exactly what each packet should contain. A non-trivial amount of code is required but the task is pretty straight-forward.

Hi TheJamsh,

That is something that is entirely possible using the engine. While it will require a hefty amount of coding, you should be able to create games that can be run between Android and PC if that is what you want to do!

For all that read this 5 years later, it should theoretically work out of the box.

But, there are bugs that prevent this from working on many Android devices and I wrote up on how to fix them in my blog post here:

You can also use my source-code fork, but you will have to compile from source.

Since this post was already necro’d :smiley:

My experience from UE3, is that it’s really quite simple, as far as the Unreal networking goes. Simply open a server on one device, and connect to it in the usual way on the others, and it just works. Now, as Adam points out, you may have fairly significant issues with actual networking layers, in discovery and actually making the connections through firewalls and such. Gamespy supplied functional discovery services along with NAT traversal, if I remember correctly, that allowed for that stuff to work well. While we don’t, as far as I’m aware, have any particularly good matchmaking/master server type services that provide cross platform support, for the basic usage of it, if you’re using a server that is out in the world, it should be really easy.