Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Unity 2022.2 is now available as the latest Tech release.
    Dismiss Notice
  3. We are making some changes to the DOTS forums.
    Dismiss Notice
  4. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Discussion Which Networking solutions do you use, and why?

Discussion in 'Multiplayer' started by CodeSmile, Oct 6, 2022.

  1. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    1,643
    I'm trying to better understand the plethora of networking options that exist(ed) for Unity as I'm thinking about solutions (paid assets) for network app development.

    Here's a couple questions that I'm interested in to hear from multiplayer developers. Feel free to skip any that you cannot comment on or have no experience with.
    1. Which networking solution do you currently use? (ie Photon PUN, Photon Fusion, Mirror, UNET, MLAPI, NGO, that Fish thing ..)
      • a) Which ones have you used in the past?
      • b) Which are you interested in using for future games/apps?
      • c) In your opinion, which of these could be seen as the "most popular" choice and why?
    2. What genre are/were these? Ie MOBA, FPS, MMO, On-Site VR entertainment ...
    3. Which platforms (build targets) are you targeting / most interested in targeting?
    4. Which paid or free networking/multiplayer assets did you successfully incorporate in your project(s)? (excluding the networking solution itself and related services like Relay, Lobby, Matchmaking)
    5. What were some of the things you expected to be easier / didn't expect to be as much work/trouble as it turned out to be? (please mention which networking solution that refers to)
    6. In your first networked/multiplayer project, what are some of the things you wished you had known /understood about network/multiplayer development before you got started?
    I appreciate any responses!

    I'm also particularly interested in your ideas for networking assets that you wish existed and would make a whole bunch of things easier, faster to develop, more reliable, great multiplayer game features that are just too time consuming to replicate, and so on.
     
  2. r31o

    r31o

    Joined:
    Jul 29, 2021
    Posts:
    455
    1.I currently use Fish-Networking
    a)I have used Photon PUN, bolt, fusion, tom's networking solution and Riptide Networking (The last two are pretty much the same).
    b)Im very happy with FN, no plans to use other
    c)The ones I used or networking solution in general?

    2.I make FPS games
    3.I mostly target PC, but I had the idea of developing a WebGL game.
    4)I have never added any asset to the networking solution.
    5)When I started with Toms networking solution, and Riptide, I found them very low-level, which I dont like, since, I hate all the networking stuff (But I love the result after making them :)), so I now use FN, which has a lot of things built-in, which saves me a lot of time.
    6)That I dont like networking.
     
    CodeSmile likes this.
  3. Punfish

    Punfish

    Joined:
    Dec 7, 2014
    Posts:
    260
    I'm the developer of FishNet so naturally I am using FishNet for my projects, including paid jobs.

    1a. Extensively I have used Bolt, PUN, Mirror; the most recent prior to my own would be Mirror for about two years. I've casually tried MLAPI, NGO, Darkrift, and a few others.
    1b. I made and use FishNet because every other option I tried had limitations, race conditions, missing modern features, lots of bugs, or constant regressions.
    1c. I'd say FishNet and NGO are the fastest rising and most promising options. I'd speculate FishNet has more features and is more stable than NGO at this time; but I've not used NGO for several months so take that into consideration.

    2. FishNet has been used to create a variety of games under various genres: FPS, MMO, TPS, platformer, VR. There is no limitation as to game type really. The paid project I'm working on is a 2D topdown fast-paced physics based shooter.

    3. I target computer/console because I'm not a fan of mobile gaming.

    4. I try to give users a full experience without having to seek third-party assets. For example, the NetworkTransform in FishNet is better than what a paid asset could offer. Other solutions have an implementation of SmoothSync because their integrated NetworkTransform is lacking.
    There are some things I leave to others though, more specifically tasks which are often unique to game types and where I trust the third party developers. Some examples would be: voice chat, command console, heathens steamworks.

    5. I'll exclude names for the sake of being civil but here are some problems I had with past solutions: did not scale as advertised, lots of race conditions, updates regularly breaking user(my) code, no progression, bugs that never got resolved on closed source options, clunky and unnatural workflow, code-base/usage lacked consistency, expensive hidden costs.

    6. All beginners should know that creating a multiplayer game takes a different way of thinking. If you are new to programming AND multiplayer it's going to be a rough start no matter what choice you make. But, generic as this phrase is, it also be true, "nothing is impossible if you put your mind to it".
     
  4. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    1,643
    Thanks for the summaries thus far! Much appreciated! :)

    I have scoured the web for networking solutions just to wrap my head around the plethora of options out there (it's mind-boggling). Will share that shortly ...
     
  5. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    1,643
  6. StinkySteak

    StinkySteak

    Joined:
    Jul 7, 2017
    Posts:
    3
    1. Fusion
    a) PUN, Fishnet, Fusion
    b) -Netick, It's not CCU Based & Great API
    -NGO, It's free, has Huge community, made by Unity
    -Fusion, It's the BEST Solution rn, however the CCU Pricing trouble indie developer
    c) Fishnet, Because It's free, Open source, huge community, best for indie developers. However I dont like the API, takes much work, really not agile
    2. Medium Sized PvP
    3. Windows, Linux, Android, IOS, Steamdeck
    4. Fusion, PUN
    5. Fusion, because I came from PUN didnt know, Client/Server Topology really confuses me
    6.
    -we can only serialize primitive values, cannot sync class, GameObject, consider what to network and not
    -Client/Server Topology, Client can only send inputs, the rest is processed by Server
     
  7. Punfish

    Punfish

    Joined:
    Dec 7, 2014
    Posts:
    260
    Hey! I'm always looking for areas to improve FishNet. If you care to inbox me a message I'd be happy to hear what can be done better. Thanks!