Search Unity

Best Networking Platform for online FPS? UNet, Photon, Bolt?

Discussion in 'UNet' started by Count_Rugen, Nov 13, 2014.

  1. Count_Rugen

    Count_Rugen

    Joined:
    Nov 30, 2013
    Posts:
    10
    Good day!
    There are a variety of networking platforms available for Unity, I would like to solicit input regarding Photon, Bolt, or Unity's built in networking in regards to my situation. I am creating a persistent multiplayer game with heavy FPS elements so hit-detection and lag compensation are critical. This game will eventually allow users to run a server locally or rent server space and run the server from there (the same paradigm as in games such as Minecraft, for example). Max CCU would be in the 100-150 range.

    Given the above info, what networking package for Unity would you recommend? Obviously I would prefer a "one time purchase" with no additional overhead down the line.

    Thank you.
     
  2. Count_Rugen

    Count_Rugen

    Joined:
    Nov 30, 2013
    Posts:
    10
  3. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    "hit-detection and lag compensation are critical" depends more on how you implement your own logic to account for these things more so than your library of choice. Photon offers a redistributable license and with Unity you can do it for free. I'd recommend using a networking lib that doesn't lock you into Unity if you plan to host people's servers which would require you eventually write some pure C# serverside applications to provide that to users anyway.
     
  4. Count_Rugen

    Count_Rugen

    Joined:
    Nov 30, 2013
    Posts:
    10
    Thanks for the input Glader. It sounds like--correct me if I'm wrong--you'd probably recommend Bolt for the long haul? I.E., since it comes with full source code in C#, it'd be the most easily altered down the line to accommodate the serverside apps you reference?

    Obviously why I'm trying to avoid coding from scratch is simply the work hours involved. No need to reinvent the wheel if the heavy lifting has already been done.
     
  5. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    I have never used Bolt so I'm not sure. I've used Photon Server and Photon Cloud as well as Unity's builtin networking, and some others, but not bolt. If Bolt will allow you to write applications for the serverside both within Unity and outside Unity then that may fit what you want.
     
  6. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Hey, author of Bolt here.

    Bolt implements a lot of complex techniques which takes many months to do by hand already for you. Bolt currently requires you to run the server inside Unity also (akin to ULink for example), but if your goal is to build a "competitive" FPS style game it's pretty much a non-issue as the servers for those types of games require the entire world state to be able o make authoritative decisions about it, including stuff like physics and animations.

    Bolt has built-in support for authoritative movement, smooth interpolation of remote players, mecanim animations, hitboxes and lag compensated shooting against them, plus many more things. Which just work "out of the box" without the need to write any low level networking code.

    There will be the possibility for running the bolt server outside of Unity also, most likely around Q1 2015 (February - March next year), but again it's a useless feature for something like an FPS.
     
  7. jtadeo1

    jtadeo1

    Joined:
    Oct 18, 2006
    Posts:
    78
    Originally, I started with Unity's built-in networking. Then I started using Photon. I've been using Photon for a few years now and so far it's been working for my little experimental games. I'd like to try Bolt in the New Year. So far, I like the fact that Bolt's documentation appears to be very good with lots of clear examples.
     
  8. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Im in the same boat. Used Photon for quite a while now, but would love to try out Bolt, hey i already bought it. Problem is just that i don't have time for it now :(