As many knows from a lot of threads on this forum, UNET is partially abandoned and definitely not the best network solution.
This creates a questions about its reliability.
But still, someone managed to figure out how to work with UNET and maybe someone already have successful project and happy with quality of UNET which was battle-tested in real situations.
So, anyone know a projects which was made with UNET?
I know only 2:
7 days to die (upd: actually not, see first comment)
I am not sure, but seems like I saw their change log some time ago where they are said that moved to UNET, but also seems like they are using several network solutions (have no idea how it is possible)
No, 7dtd “supports” UNET (just using the LLAPI) but we highly recommend not enabling it as it causes a lot of issues (that they claimed to have fixed but well … no ). The old Unity Networking (aka RakNet) never gave us any issues like UNET does.
So you are using RakNet? Amazing! I thought we are the only who still using RakNet in 2018. We think it was the best network solution, super easy and comfortable to use. It is so super sad that RakNet no longer supported in latest versions of Unity. And quality of documentation of UNET not even close to the quality of documentation of RakNet. Each page of manual had an detailed example of code! When Unity announced UNET, we expected RakNet 2.0. But in result we got UNET : (
I want to ask you a couple of questions, if you don’t mind:
Are you using latest version of Unity (2017.3)? Raknet works okay for you in latest version?
How you implemented a Master Server (server browser) for RakNet? Are you using thisold MasterServer from Unity, or some modern asset from the Asset Store such __this__?
Do you feel that in modern times you need to replace your network solution with something more modern? If so, what network solution you choose? UNET, Photon, Forge, TNet, DarkRift etc.
Currently .1 but we’ll probably switch over to .3 or even 2018.1 for the next release.
We use Steam’s master server. Running an own master server if you already “pay” for Steam’s infrastructure doesn’t make a lot of sense
No, we use our own network code and just need a reliable transport layer. When RakNet is finally gone we’ll just add another transport layer like MiniUDP or LiteNetLib (maybe even sooner, no one knows the actual performance implications of Unity’s RakNet as it can’t be profiled).
Thanks you. And one more question. How you managed to implement NAT punch through? In our game many people can’t host a server or their servers is not visible in the Steam’s server list, seems like due problems with NAT.
Yeah, for Steam’s masterserver the Steam query port has to be open to the net to work. We support NAT punchthrough through Steam’s P2P networking and using Steam lobbies to get the required data out to the remote users.
@Alloc we are also developing our multiplayer project using MLAPI + Steam P2P, how easy is the Steam lobbies? I can see the API doc in Steam but would there be any example to easily start with?