Search Unity

  1. Unity 2019.1 beta is now available.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We're looking for insight from anyone who has experience with game testing to help us better Unity. Take our survey here. If chosen to participate you'll be entered into a sweepstake to win an Amazon gift card.
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Unity 2018.3 is now released.
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Multiplayer online networking alternatives: UNet vs Bolt vs Photon (PUN) vs Forge vs etc..?

Discussion in 'Connected Games' started by syrys, Oct 10, 2015.

?

What would you use for a multiplayer online game (production level)

  1. UNet

    34.0%
  2. Bolt (Photon Bolt)

    24.5%
  3. PUN (Photon Unity Networking)

    43.4%
  4. Other (please specify below)

    6.6%
  5. Custom (please specify below)

    1.9%
  6. Forge

    14.2%
Multiple votes are allowed.
  1. syrys

    syrys

    Joined:
    Aug 5, 2015
    Posts:
    3
    Hey Guys.

    Sorry if this question has been asked and answered before (please flick a link and i will shut up).

    Recently, i have been looking into creating a Multiplayer game. Specially since i heard about the Unity 5.x networking library (UNet? is that what its called? well, im going to refer to it as UNet for now), i wanted to give it a go. I tried out UNet (few tutorials and playing around on my own), and my first impressions were great, very easy to start off and very logical for complex things. But my second impressions pretty much convinced me that it was completely unusable for production level... not yet atleast. Maybe their scheduled 2nd or 3rd iteration when all the necessary bits and pieces gets released? For LAN games though, UNet would be great. The reason i say that is, UNet documentation is very unclear, the tutorial games/projects that were released simply didnt work (on the latest unity version), no real guides, and the matchmaking server was too laggy (simply didnt work with latest unity) and no real alternatives to the matchmaking server.

    Since then i have been looking around, and was interested in looking more into Bolt and PUN.

    My Requirements:
    • Make an ONLINE multiplayer game. Sort of like a co-op map. 4 or maybe 8 players at max? Use Diablo or counterstrike as an example.
    • minimal centralized servers or relaying messages (as this will increase lagg). Im aware you need to have a middle man server relaying messages due to NAT etc, but there is no need to have the server processing stuff. Simply one of the clients can act as a Host.
    • Matchmaking. player 1 creates game. Player 2, 3, looks at a list of created games and finds player 1s game and joins, player 1, 2, 3 plays together.
    • Scene changes while in the game.
    • Transform and animation syncing (i probably wont use mecanim for movement, thats just asking for trouble).
    • Ease of use/integration, and logical. For context, i found UNet to be super easy and logical, even the complex stuff (though it didnt meet my requirements).
    • Decent support/tutorial/guides to get me off the ground.

    So my main questions are:
    1. Is there any other good alternatives besides UNet/Bolt/PUN/Forge?
    2. Is it practical to make your own? I have seen few guides/tutorials/examples of using a nodejs server etc. If so, do you have any pointers/guides or anything i should look at?
    3. What do people actually use these days? That is production ready, and compatible with range of devices/routers/conditions/lagg etc.
    4. What are the pros/cons of the options mentioned in 1 and 2. What can/cant they do? Ease of use, ease of integration, reliability etc.
    Thanks in advance.
     
    Last edited: Oct 10, 2015
  2. mohaaaaamed

    mohaaaaamed

    Joined:
    Apr 5, 2015
    Posts:
    2
    Unet is BullShit it just nothing it's a free API and for lan games through your router only but it's not real multiplayers
    For Multiplayer use Photon Unity Networking
    And syrys i want to make this project whit you if you want
     
  3. Severos

    Severos

    Joined:
    Oct 2, 2015
    Posts:
    161
    MatchMaking service is provided for free from Unity to help, in a real game you want to create your own matching server.

    And what if that client modified the game to gain advantages? (aka: hacks)

    This doesn't really need a MatchMaker server, use the first online scene to list all the available games, when player picks the game he wants to play and the side to play on, he sends message to server telling it the info, server then will move the player object from that scene into the game.

    can be done easily with the NetworkTransform and NetworkAnimation, if you don't really want to use those then you'll have to code such components your self to maximize the optimization (which is pretty hard and time consuming).

    Documentation exist only to light up the road for you, everything else if up to your imagination, unless there's a super community that provides such real life examples, but think you can see couple projects from the assets store.

    Depends on how you define "practical" and how far you want the server to do, for the game I'm making the server needs to know the map and physics and everything about the game, so it's not practical at all to make one.

    I really have no idea since I've just started, but depending on the scale of your project I'd say, as for lag usually you'll have to implement your own techniques to solve it, reading this will help you understand more about the lag and how to solve some of it's problems: http://gafferongames.com/networking-for-game-programmers/
     
  4. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    180
    I have been using Tasharen Networking (TNet). I like it because it is extremely flexible. I have yet to use it in a production game, but from my tests it works well. It may be worth taking a quick look at.
     
  5. Xblade-Imperium42

    Xblade-Imperium42

    Joined:
    Jan 12, 2016
    Posts:
    553
    I'd like to hear more comparisons about PUN vs Forge
     
  6. SweatyChair

    SweatyChair

    Joined:
    Feb 15, 2016
    Posts:
    94
    We used UNet and Unity Networking (legacy), UNet is great and relatively easy to integrate, but as @mohaaaaamed said UNet turned us down because it doesn't support Host Migration in Internet game. The function is on roadmap of UNet which may still taking 1+ years...

    We will go for PUN, but I also heard Bolt and Forge is great in forum...
     
    Last edited: Nov 20, 2017
  7. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,558
    I have tried nearly them all.. I'm far from a net coder, but by NOT being one, Bolt has been very easy to use... for both Mobile and PC.....You can make authoritative or non in Bolt....better to go authoritative for cheaters. Also they added integration with Steam, XB1... Unet is a nightmare and full of bugs, I have NOT used in awhile so it may be better now...But when I did, I was not a fan of it....I also used Pun, and I felt it was not friendly to most newer net coders....Being a programmer helps, to use these programs,. so you really could use any..... But as I said I felt Bolt was easier for newer net coders as I'm not a net coder.... I have used Bolt on and off for a few years.. Using it RIGHT now for a few games one mobile and another PC/Console.
     
  8. Impact_box

    Impact_box

    Joined:
    Jul 25, 2017
    Posts:
    2
    I use Tasharen Networking (Tnet3)
    Its work fine with me
    fast |
    work online |
    Console Server |
    channels (like photon rooms) |
    game never end (host's disconnect ) |