• Unity networking solutions?
    11 replies, posted
What is the best networking solution for Unity? I read about UNet and most of the opinions I read about it were bad. What about Photon, GameSparks or PlayFab? Can you guys tell me your experience about them?
You're gonna need to provide more information on the kind of game you're trying to create. "Best" is an incredibly subjective and contextual word. Turn based? Real time? Battle Royale clone? Are you looking for a database for leaderboards and single player data storage? A multiplayer/matchmaking solution? A backend for social systems? UNet isn't terrible, it just won't hold your hand and there's a lot of hard work to be done, but that's kinda networking in general. I've used PlayFab extensively for a commercial product but we recently switched off of it in favor of a relatively new system called Nakama due to PlayFab's lack of basic social systems like chat, sane support for guilds etc. Photon has been around for awhile and is probably pretty battle hardened at this point, if you're looking for the easiest out of the box solution I have a feeling that might be it. GameSparks is even newer than PlayFab if I recall correctly, I know the least about it.
You are asking quite a lot of questions which I did not even think about! The game is a tower defense with at most 4 players. Features like leaderboards, chat, a progression system (so a database to hold the player's progression) would be a plus.
Photon seems like a good scalable solution that provides a lot of tools out of the box to get shit done. Forge Networking has looked promising for a while, with decent ingeration into the editor. Some other choices, if you're not interested in high level stuff: https://github.com/lidgren/lidgren-network-gen3 https://github.com/ashoulson/MiniUDP https://github.com/RevenantX/LiteNetLib
If I want the game to be hosted on the cloud I need to pay for the service. Photon's pricing is hard to understand, what is a CCU? If I am using the free version does it mean I can only have 20 users using my game a time? It seems extremely limiting if I compare against playfab/gamesparks pricing by monthly active users. Nakama seems to be able to be hosted on whatever cloud I choose, it makes it harder to compare against the others.
Sorry for hijacking your thread but you might get some useful answers out of this too @eviltediz . I have worked with Unity quite a lot the past year, but never even touched multiplayer. I have always wondered why there's no networking solution for games that want the players to be able to host, for example how Rust and Garry's Mod do it. Are you supposed to write your own? I think @Crayz is working with a Source like multiplayer project so perhaps he can give us some answers.
@Galaxy If I understand your question correctly, what you are asking for is a Listen Server which can be done using Unity's Networking System.If you want to implement Steam into your game you can try using @garry Facepunch.Steamworks, I haven't looked through but what I assume it does it allows you to register your server with Steams' Master Server List so people can find your server from anywhere. You will need an appid which you get after publishing the game on steam to use that if not you can use their test appid which is 480 (SpaceWars) game. I haven't done any networking in Unity only in UnrealEngine so if I am wrong please correct me.
I'm enjoying using PUN. It's pretty cheap really, and has worked well for what I'm doing. It's peer to peer, so you have to kind of design around that, but it's also quite freeing.
Doesn't P2P kinda inherently fall apart?
In what way?
Uninformed as it gets here - but latency between clients causes even more of a shitshow than it would on your average dedicated server I'd love to know more in general, but it seems like the stigma is justified
Well, it's peer to peer, but there's a server in the middle where everything is bounced off. So you get consistency there. It's probably less laggy feeling than having a dedicated server really, because everything you touch is clientside authoritative.
Sorry, you need to Log In to post a reply to this thread.