I am researching networking options for a multiplayer project and so far it appears that Photon, uLink and SmartFox tend to be the most popular choices. I’ve played around with Photon a bit and it was quite nice. uLink’s tight integration with Unity is very appealing. Haven’t looked into SmartFox yet.
Since we will most likely need lightweight dedicated server architecture (basically a silent process that does no rendering and merely looks after and networks the game state), as cool as uLink’s strong coupling with Unity is, it appears to also be the thing that makes it unsuitable for our needs.
It would be great to be able to code up the server logic in uLink/Unity C#, but looking at some (admittedly really old) threads, it looks like you’d then be stuck with an application window, doing a whole bunch of unnecessary rendering on your server. Has this been addressed now and is it possible to run a unity application in “dedicated server” mode?
If not an alternative would seem to be to code up a custom C# (or other) server process that could optionally use the uLink (or other) API to ease the process of serialising networked game data between server and clients.
Is any of the above anything anyone’s had any experience with and if that’s you would you care parting with some wisdom? Mostly I am looking for suggestions from people who have managed to code up a dedicated server architecture for Unity clients lightweight enough to handle a good amount of sessions on a single server.
Many thanks!