Hello. I started playing with Unity two or three month ago. And feel as i can go further and explore networking and multiplayer. My goal is something like a platformer with up to 8 players per game and i think up to 10 concurrent sessions for a start.
The question is: should i use built in networking or look at something like Photon (Photon because i can write C# code with it and don’t want Java, so no SFS) or maybe some custom build server.
PS. I’m not newbie in programming and have several years experience with .NET
I would suggest you use the built-in networking until you find a good reason not to, especially if you need the server to be involved with collision detection or physics.The first limitation that springs to mind here is that you want to run 10 sessions/servers at once, and while in the long term you’ll probably get better results using some like Photon (or ElectroServer , which is quite nice too), I would see how a headless Unity server handles the load first.
Stick with Unity for the prototype, in my opinion, as it’ll save you a great deal of time and should handle an 8-player platform game easily. Switching over to a socket server later on if you need to won’t be too much work if you keep the possibility in mind while programming the game. Just remember that if you do want the server to be authoritative (ie, players just send keyboard inputs to the server and the server checks for collision/validity of movement) then you won’t be able to do this with something like Photon without figuring out a method of loading the game geometry and logic into it in addition to the networking requirements.
Thank’s for reply. I think i’ll go for a socket server if in future i hit some scalability issues which i think won’t happen, because mainly players will host games. So i’ll stick with build in networking and use master server for players to find games. For me this will be the most productive solution.