Maximum players/connections in multiplayer game built on Netcode?

Hi all. I was curious what the maximum number of players or connections is that a game built on netcode for gameobjects can handle.
In the unity blog post ‘choosing the right netcode for your game’ there is a flow diagram with use-cases for the different networking solutions, with netcode recommended for games with 64 or fewer players in a match. Apart from this I cannot find an answer to this question in official documentation. Is 64 a hard limit that can’t be overridden or is it a soft limit beyond which the framework will not scale well/perform poorly? Does UNET vs UTP transport layer influence this at all?

There is no hard limit. Right now we are focusing on smaller scale games with small numbers of players. The exact amount your game is able to support will depend on your game genre and the complexity of your gameplay code.

Building a game with 64+ players in the same session is a huge task. Often existing solutions don’t provide everything needed to build a game like that so it’s quite common for large scale games like that to build their own networking stack and optimize it for their specific use case.

I see, thank you for answering :slight_smile:

Would NGO be good for a game with 20 players? I want to make a game show/trivia game with about 20 players, whose positions don’t need to be sent over the network as they will be in fixed positions. But I would like their rotations to be tracked.

That would be very doable, especially since it’s not a fast-paced game with, say, hundreds of networked bullets flying about. :wink:

Thanks, I saw one of your posts mentioning that you use Unity transport. I’m not too sure on the difference between NGO and unity transport. Would I be correct to assume that Unity transport should be used for games with more demanding network requirements, as opposed to NGO which should be used for smaller scaled multiplayer games?

NGO always needs a transport layer for network communication. Unity Transport is included with current versions of NGO for that reason, although you can replace it by another transport package (e.g. Photon) if you like — and likewise, Unity Transport can be used in other multiplayer solutions. So no, it’s not really an alternative to NGO but more a part of it.

the new Photon fusion can have up 200 players.

Currently the only treshhold is due a bug with the MaxPacketQueueSize. Since there is for some reasons a hard limit on that value, which will be changed/fixed in the future.
The reason is that, on connection, all the world state information will be loaded at once, filling the MaxPacketQueueSize to its treshhold.

Besideds that, i had 200+ Clients running. I expect that there can run a lot more if that issue is fixed.

Is this issue the stack overflow for large values of MaxPaquetQueueSize? If so, it should now be fixed in version 1.2.0 of the Unity Transport Package (which version 1.0.1 of Netcode for GameObjects depends on).

Its the same issue I already mentioned back then and you already replied towards :slight_smile:

So yes :smile:

Okay, I want to put my RPG online (my RPG is substantially developed). I’m pretty sure I won’t need a fast tick rate and it seems like Netcode for GameObjects (NGO) may suit my needs. But lets say there is a CCU limit of some sort. Is it possible to get around that by having 50 or 100 users in one instance/zone and then having a similar number of users in another instance/zone and another and another and so forth with perhaps thousands of players total. YET, they all exist in the same “game” and can move from instance to instance etc? Of course, they would maintain their stats and equipment and so forth. I have substantial C# and Unity experience although I have little network/multiplayer experience.

What you mean can be done by what is called a “Realm”. For example Diablo by Blizzard uses realms. You could have your character saved to the realm and then 10 servers that are hosting a specific zone and players can join one of the servers. The downside is that they need to disconnect and connect to another zone with the realm methode.

Thanks for your input. I’m going to look into that to see if that is a potential solution.

I’ll likely look at that game by Blizzard. I’ve never played it but I’d like to see how it’s done now that you mention it.

I’m working on a side issue now. My favorite game company is Paradox. Last I saw they had 662 employees. My company has just one employee. LoL. Me. (Although I’m retired so I spend mostly full time on my games.) But, because I’m all alone here, when I get on these side issues everything else comes to a halt. I really appreciate that you took the time to help me though.

Hi
Is there any update with CCU of NGO?
Why don’t we talk more about this.
This is a kind of core performance of Netcode isn’t it?
Thank you.

yeah

Not sure what you’re referring to here. I know they recently increased the number of “free” players you can have over at Unity Gaming Services. The new number of free CCU players is now 50. I think it used to be 20.

If you’re referring to how many users can simultaneously play NGO, well, I’m not sure. I’m certain there would be factors to consider other than CCU. My impression is that the size of the terrain, the number of Mobs/NPCs, and even the number of things like structures and trees, etc. would play a factor although I’m not sure how much each of those would impact the CCU, perhaps a tiny amount, perhaps a large amount.

The reason I’m even on this thread today is because I’m planning on starting this week to test CCU limits on NGO.

The game I’m designing is an MMO with most zones being around 1,000 meters square and built by Unity’s Terrain Tool. I’d like to have one game, with one player base, but many of these one KM square zones. Ideally, if the number of players exceeds NGO’s ability to handle the CCUs, then the server would open another instance. Players would retain any loot, gold, etc that they recovered during their exploits.

Well, that’s my plan for today that I’ll begin testing this week. I don’t know if I can do this on NGO or if I would need to use something like Netcode for Entities or Fish-Net, etc.

so how was it? im planning an mmo too for my learning, im thinking of mirror, fish-net or photon if NGO performance doesnt scale well.

Subscribing bump, as I too am looking to build a game with a bit larger scope of player base and world size.