As is consistent with a compliment sandwich (I think open faced in this case), I would first like to express my gratitude for UE4. It’s totally great. I love working with it, and I’m still jazzed every day that I get replicated vehicle physics out of the box, and improvements like C++ hotreload have made working with the engine on a daily basis even more pleasant. Making the source available on top of all of that is just fantastic.
I am super excited (and impressed) that UE4 supports cross platform network play. In 4.4.3, I was able to create Win64 and Mac client builds for my game and connect both to a Linux dedicated server. Since then, I’ve upgraded my project to 4.5.1 (specifically, SHA: ad6f983, tags/4.5.1-release) and can no longer package a compatible Mac build. I can’t connect a Mac client to a Windows or Linux server, but the Win64 client can connect to both. The servers are built using the same packaged content as the Win64 client, so the latter compatibility is no surprise. I’ve detailed as much as I can and what little progress I’ve made digging into this problem on my own here: Package mismatch: Mac client cannot connect to server - Programming & Scripting - Unreal Engine Forums.
My question is most likely a duplicate of this one: Can't initiate network game between mac and windows builds - Multiplayer & Networking - Unreal Engine Forums
I would like to give two pieces of feedback:
- Please address the packaging issues introduced with 4.5.1, they are release-blocking
- Please consider introducing automated regression protection for features like packaging
Rolling back to 4.4.3 isn’t a great option for my current release as I’m taking advantage of several of the changes introduced in 4.5.1. I’m going to continue digging through the engine source in an effort to solve this issue myself, but the packaging/GUID code is completely unfamiliar to me so I suspect it will take me a while. I admit, it is also not what I want to be working on. My drive to fix it myself is a direct result of wanting to ship the next iteration of my game.
I’m most interested in ensuring that this functionality won’t break in future releases, as it is an integral part of shipping software with the engine. Would Epic consider introducing an automated test for cross platform packaging compatibility?
As always, thanks for your hard work and fantastic product. Your engine is allowing me to be a game developer, and I love that.