Unity Multiplayer Design. Is it complicated to implement and learn?

Hello, I have been developing singleplayer games with Unity for the last couple of years and I have now come to a point where I want to create multiplayer games. But as I have never worked with any type of mutliplayer or network programming before I am unsure if and how I should continue.

My situation:

  • I have a couple years of experince with singleplayer development for Unity.
  • Quite advance Java programming skills.
  • And my game idea would involve two maybe up to four player multiplayer games in the style of AoE,C&C and so on.

So onto my questions;

  • Would it be a long process learning how to design and implement multiplayer as described above?
  • Is it possible to develop multiplayer as described above with the free version of Unity?
  • Are there any tutorials/resources that goes from the first step to the most advanced methods in designing multiplayer games with Unity? And if yes please share.
  • Would the multiplayer I described require some kind of servers or can this be handled client side?


Yes. Making an RTS for your first multiplayer game is going to be a struggle. Mine has minimal RTS elements, but many controllable
units per player on the screen at once, and I wish I had done something like a fighting game or a collaborative run-and-gun game; where each player only has one character to move, first.

Yes. I’m making my game as cross-platform as possible, and all[?] third-party networking solutions for mobile require Pro.

Yes- But not for free; there was a good paid guide that I believe is now years out of date.

Yes- But only for the matchmaking / lobby, no dedicated game server is needed for built-in client-server networking.
One player is the server, the others join as clients. I’m making a game that is 2 players only, with one NetworkView object each, and client and server’s behavior mirror each other almost exactly. If I had 4 players, I’d have to make client and server more distinct.

You could run your own Master Server on a VPS but the Facilitator (the more important part of using the Master Server) requires a server with 4 IP addresses assigned to it, which may be expensive or hard to find.
You can also use WWWForm to talk to a PHP script to talk to an SQL database and keep your own lists of active IPs and use that to connect players, which is hard but not impossible to figure out, I’ve got it working.

If I either had Pro or didn’t care about supporting mobile I might have used Photon instead. Looked at SmartFox and it seemed like it was more than I needed, and I could only wish I had time to make a game that needed Badumna.