Hello everyone! I am developing a MMO (sort-of battle royale style) and would like to know witch networking solution is the best. The game will run on a dedicated server and will also use physics. The player count on a single server( as I plan to deploy more) will be around 100-150. I like UNET because it is already built-in Unity but I have read that it has some issues. DarkRift seems promising as it is completely free and can also be integrated into Unity very well. I cannot really find the differences between them. Also keep in mind that I am an indie. https://darkriftnetworking.com/DarkRift2
Honestly if you're making an MMO then you should be able to figure this one out on your own. If you can't then you probably shouldn't be making an MMO.
I don't think this is a fair comparison really. Unet is broad and vastly different than darkrift. Both are free, Unet offers a relay server which of course is paid but not mandatory. Anyways, big mmos can save a lot of money from small efficiency boosts, so I would suggest profiling both. You also have to factor in things like how much work it takes to accomplish x.
I would also suggest having a look at the MLAPI (made by me, very close to UNET's HLAPI) and Forge networking.
In that case you may also look at the Forge. Definitely not UNET, it is too confusing and unstable in many cases.
I have found the opposite to be true. UNET may have a few minor quirks but what networking solution doesn't?
The biggest flaw with UNET is that there is no active development. Minor quirks are fine, but features that don't work and bugs that never get fixed are not.
List of reasons why UNET is a bad solution https://forum.unity.com/threads/for-creators-of-hlapi-big-list-of-things-which-must-be-done.524214/
Thanks for the link! I'll be on the look out for those things as I start to scale out. I've had ~40 people + NPCs in one scene before with no real issues via UNET so I've been pretty happy with the HLAPI up until this point. But I am in agreement that the lack of development/bugfixes/etc is disappointing.
Btw, the MLAPI has new features to allow you to very quickly convert. You can even keep your Command, Rpc, TargetRpc and SyncVar attributes and just change the namespace from UnityEngine.Networking to MLAPI's. Might be worth having a look at if time is what you are struggling with.
In all honesty, if you cant even afford to pay for tech to make this MMO, you should absolutely not be making an MMO. Not trying to be harsh, just trying to save you a world of headaches. Paying a small amount for networking or extensions should not be a concern at all, because you have far bigger costs to worry about down the line potentially.
And again, I recommend to check TNet The game Sightseer is made using TNet, this game have 100x100 km world, base building and more than 100 simultaneous players. Functionality which allows to do that is provided by TNet almost out of box.
I wouldnt recommend this personally. But everyone has their favourite libraries EDIT: While I find it distasteful to throw abuse at someone for giving their opinion, I feel I should have added that this is based on the fact that I find it not any easier to use or more perform-ant than MLAPI and that is free, so I always recommend that over it. I have nothing against TNet, its not a bad asset its just not free in comparison.
Can you please explain why not? I am still not a big expert in TNet, so this information can be useful.
LiteNetLib is also an option, its fairly easy to integrate into unity as well. This library is pretty much on par with ENet.
Thats completely uncalled for and untrue. I did not like it compared to the free MLAPI, its not any faster or easier to use yet MLAPI is free and unless your making a crazy game it probably will do everything you need, with the developer being very active on these forums. But thats fine, attack me needlessly on the forums. Also maybe check my history first, youll see I have posted roughly the same ratio of "happy" and "angry" posts as most users. And uninformative? Right thats why I have been trying to help people out on forums in threads related to navigation etc? Anyway I didnt come here to get insulted by someone for giving my opinion, please refrain from it in the future as there is not a rule that says I have to recommend every asset you want to recommend even if my own usage of it was not a great experience.
Agreed, you do not comment on other users. You comment on facts. The post is removed please stick to facts and not personal comments, everyone!
Thanks hippo! Although I did notice I had not actually said why I did not recommend the asset so its not exactly completely not my fault that it was percieved as pure criticism. I updated the original post to explain this. And also to mention I dont have anything against TNet, just that MLAPi is great
The other reason not to use UNET, is its limitation on bandwidth. Its more possible to make an MMO with legacy raknet in unity than UNET. In fact RakNet 4.0 is also a good option if you compile it to c# from their github source.