Is Unity Networking viable for a MMO game?

Hello

Is Unity Networking viable for a MMO game and can server support for 1000 client?

thanks

I do not think so but people are eager to create an mmo with unity.

1 Like

No.

You will need something more powerful and robust.

Look at uLink or Photon.

1 Like

Not the current one. It doesn’t support unreliable delta state syncs , unreliable RPCs and prioritization and many other things which are crucial for supporting 1000 players online at the same time. The thing is that nor uLink and not photon doesn’t support these fully either but you are capable of implementing them if you need and also in uLink you have much of that. You have groups and scopes, you have per group instantiates, you have unreliable RPCs and lots of other goodies. Also it has serialization of custom data types in an elegant manner. Photon has the low level fully as well. It has unreliable messages and can send any kind of byte array so theoretically you can send anything. Choosing between the two is probably about the fact that you want to use lots of unity features on the server or not. uLink allows you to have a server hosted somewhere inside unity easily with lots of powerful features but photon allows you to write your game server in .NET. They have a PUN package for more integration with unity and implementing unity like RPCs and … but it’s not still as integrated as uLink and supports less features.

1 Like

Just to clarify on this, with uLink you can still write your game server in .NET, but it will be .NET 3.5, which is the .NET version and C# version Unity supports.

With Photon you would be able to use .NET 4.5 or later versions and access those language features on your server.
But unless you have specific reasons for needing API’s or language features later than .NET 3.5, there is little benefit in this.

I have been wondering on this a lot as well. Not MMO big.

But I have been working on a combat game, where you would expect to have games from 8-64 people like call of duty or battlefield (no I’m not making a first person shooter). My current development I am using the photon cloud. But I’m also coming to the conclusion that I’ll get limited by CCU amounts, and once you start getting into the 5000+ players that you want to be able to be playing your game at any given time it seems like it isn’t cost effective.

Ashkan mentioned uLink allows you to have the server somewhere inside of unity. Now I would imagine this is how most people do it, the host hosts their game and feeds their IP etc to a master which is where everyone’s clients pulls a server list. I am currently doing this with active rooms in my photon cloud… Which works great.

My next bit. What do people do usually if they will put their game on steam? I know rust uses uLink, and more than likely a few others. And tons of people play those all day long. Maybe they really are shelling out the big bucks for cloud type hosting? I don’t know. But I’ve reached a good point in my games development. And I want to get this part squared away. Because I have a nasty feeling in my gut that I’m going to have to change everything to make it work on steams network, or being able to have a high rate of active users playing, whether it be 20 rooms with 64 people in them, or 500 rooms with 12 people in them…

K, my long winded thing is over. If anyone has input to my huge situation I’d love to hear it.

Look at Amazon EC2.

You can use their API to create rooms on the fly and upscale and downscale as demand needs.

  1. I would not recommend PUN(Photon Cloud) for more than 10 players.
  2. Hosting yourself will likely not be cheaper than PUN.
  3. Amazon is pretty cool. But at my old work we gave up amazon and went with LeaseWeb in the end as they could offer us an overall better deal. (But was a deal for around 1000$/month if i remember correctly).

Yeah but Leaseweb doesn’t have anywhere near the upscaling/downscaling API’s that Amazon does.

If you have used unity’s api before you should use photon. It is very similar and more readable code. It also has a fairly cheap cloud servers that you can use and 20 users for free. If this is more serious then I would say get a hosting service from somewhere else, with lots of data being sent over the network. If it is a very simple then I would say photon but that is just my personal opinion.