I’ve been trying to figure out the best current networking solutions for a first person shooter, team death match type of game. 5 v 5 for example. There seems to be a few different options and I would like to hear opinions. How scalable is Unitys built in networking vs something like photon other 3rd party solution? What is everyone’s favorite 3rd party solution if unitys built in networking does not meet their needs? Thanks!
Define “best”.
You mean whether it can handle 10 users?
Sure, like all the other realtime UDP network transport protocols and their ease-of-use things like NetworkTransform, NetworkVariable, etc.
The scaling of multiplayer game is 99% your own code. You can seriously trash any game by writing netcode that synchronizes every bullet ever fired every tick rather than synching that a player started or stopped shooting with a known (!) weapon with known fire rate and deterministic bullet flight path.
ENet in my opinion is the best solution for FPS on Unity
It has the simplest functionality for receiving and transmitting data
Personally, I’m using Mirror for a similar game, but for a basic FPS anything should work.
Haha wtf are you talking about
With something that small anything would probably work. For me I’m using LiteNetLib for all my networking. Currently running my MMO project at 32ms server ticks and about to handle movement updates of about 90-100 player objects. @CodeSmile is 100% correct in that your code is really the only limit on what your game can handle. Be smart about your updates and us client-side prediction/server reconciliation to have smooth movements /limit what you are sending out as updates.