Two weeks ago there was the global game jam and in the spirit of tackling something challenging I decided to include Unity multiplayer into our small game. Long story short: after around a day I gave up. I would claim I am by no means a bad developer. I can do some pretty awesome stuff in Unity and other environments. The thing is: a year ago I added multiplayer to a Unity game of mine using Photon. Two players doing turns one after the other, lobby, skillbased matchmaking etc. This took me 2 hours for the initial prototype and 1 day to get right. I would ask for simple "isServer" and if not do the client stuff, otherwise the server logic. I could broadcast messages to all, to all clients etc. Super easy. And the beauty was, if no server was connected it would automatically switch to local multiplayer without any change of code. So now UNET. My expectations were really high. I was sure Unity staff had looked at Photon and how easy it was. I read blogs how they hired the best of the best with years of experience. And I was sure they had made it the best there is out there. How could I be so wrong. What I encountered is incredibly hard to understand conceptually, poorly documented, and simply disappointing. The concept of a server which can only send RPC calls, and clients who can only send commands, this makes things tremendously complicated. Or I didn't get it. In Photon a function call was a function call. Call it and it would be received. I dissected the tanks example, which is really nice and I learned quite some other things from it. But I could not figure out from it how to do a two player turn based game. I could get the server to send something to the first player but I could not figure out how the client could send something back to trigger the end of the turn. Or playing in offline mode without a cloud server (PhotonNetwork.offlineMode=true). Essential but simple things like that. Probably someone with more knowledge will point out how simple it is and probably it is if you have been working on that and understood the concept. I just have my comparison to Photon. One is simple to use and had super quick results, the other made me throw the keyboard against a wall. I don't think this is what Unity should be going for, even though keyboards are rather cheap. Someone else might say, then simply use Photon. As sad as it sounds, probably the answer is yes. But shouldn't it be the ambition of UNET to blow all the other solutions out of the water and simply offer the best there is? I have the strange feeling that some hardly relevant requirement to support multiplayer games of gigantious scale needed to be possible (for 0.01% of corporate Unity users) and that shaped the UNET the way it is right now. I might be totally off here but being in product management myself I know how requirements from the big players can cause many normal users to raise their eyebrows. I really wished there would be a high level API for the high level API. We are not yet at a point where it is the no-brainer it should be.