Search Unity

Question How to learn new Multiplayer system

Discussion in 'Multiplayer' started by Rachan, Sep 1, 2022.

  1. Rachan

    Rachan

    Joined:
    Dec 3, 2012
    Posts:
    783
    Hi there!

    I really want to know where to learning a new Multiplayer System?
    actually I used to knew UNET before,
    I can create online game like PUBG or other multiplayer game...

    But Unity already changed from UNET to another
    (I still don't know what is..., I just know UNET is no more)

    so I would like to know where to find the way to learn this new Multiplayer System?

    if anyone has a new example or tutorial about this new Unity Multiplayer Please let me know!

    Thanks!!!
     
    Last edited: Sep 1, 2022
  2. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    6,004
    Rachan likes this.
  3. Rachan

    Rachan

    Joined:
    Dec 3, 2012
    Posts:
    783
    Thanks!
    I’m not sure But if it can work it should be Ok and it can working on mobile?
     
  4. WakingDragon

    WakingDragon

    Joined:
    Mar 18, 2018
    Posts:
    41
    The documentation is quite hard work - but it is improving every week. There are not many good tutorials yet but Tarodev has some good examples as does UnityCollege3D. There are lots of simple examples that Unity have created (although I found the big Boss Room example was just too complicated and a bit out of date).
    I am an amateur, self-taught programmer and it has taken me about 3 weeks of full time effort to get to the point where I can join players via relay, using a lobby, to a multiplayer networked game. But I am not very smart or skilled and the documentation is evolving (as are the products).

    The main thing is to get set up on the Dashboard so you can use Lobby and Relay or other services as you learn.

    I recommend doing the examples in Tarodev's tutorials (on youtube). They are slightly out of date because the systems are now all live. And make sure you bookmark all the documentation sites as you will need to switch between them a lot.
     
  5. CreativeChris

    CreativeChris

    Unity Technologies

    Joined:
    Jun 7, 2010
    Posts:
    457
    @Rachan The more direct correlation to UNet would be to evaluate Netcode for GameObjects. Netcode for Entities is a networking solution for those using a data-oriented design tech stack.

    @WakingDragon if you have a moment, would you mind expanding upon your experience with Boss Room? The complications you ran into and what you mean by being a bit out of date.

    In general, the starting learning journey for NGO is:
    1. HelloWorld
    2. Golden paths 1 and 2
    3. Bite-size samples - 2d space shooter, invaders or client-driven
    4. Boss Room
    And of course documentation, such as core concepts.

    I can also recommend some community contributions with Youtube content:
    • Dilmer
    • Tarodev:
      and
    • CodeMonkey:
      - look out for up-and-coming tutorials.
    And if you have questions, the Netcode for GameObjects sub-forum and discord server can help

    Thanks,
    Chris
     
  6. WakingDragon

    WakingDragon

    Joined:
    Mar 18, 2018
    Posts:
    41
    @CreativeChris Sure thing. Over the last 2-3 months I have been trying to get my head around the UGS offering and distill what I need into a game. I think that has coincided with a lot of documentation changes, updates and releases in UGS. That is all good news but, as an example, none of the links on this page worked for most of the time I have been trying to understand the concepts...
    https://docs-multiplayer.unity3d.com/netcode/current/about/index.html

    I downloaded the Boss Room sample and installed (via package manager) the latest updates to UGS services a few weeks ago (maybe 3 or 4 weeks). The code would not run and threw out a lot of errrors even though everything was using the latest LTS at the time. It may well be different now.

    I have noticed a couple of "this is now deprecated" notes in the documentation against refs and methods that are in some of the code samples (I think these were relay examples). I can try and dig them out if you need them.

    I am really very happy with it all. If I don't sound it then I recommend this handy guide to English emotional expression...
     
    CreativeChris likes this.
  7. CreativeChris

    CreativeChris

    Unity Technologies

    Joined:
    Jun 7, 2010
    Posts:
    457
    Thanks, @WakingDragon. Appreciate your feedback.

    Yeah, there have been many doc changes recently, whilst teams were/are building up to launch earlier this week. broken links are an annoyance at the moment, apologies for these issues as I am sure they are frustrating. Please do log issues when you see them, there is the log an issue button on every docs page.

    Regarding the latest UGS packages with Boss Room, I can check, but our latest release targets specific package versions, those dependencies are always listed in the changelog/release notes on the GitHub repo. We endeavour to keep up with all our package dependencies but we tend to lag behind somewhat.

    Regarding deprecated notes, if you do have those, please share and I can circulate these internally.

    Thanks again, glad it is all making you happy. We have more improvements to come.
     
  8. REDACT3D_

    REDACT3D_

    Joined:
    Nov 8, 2020
    Posts:
    222
    documentation is king
     
    CreativeChris likes this.
  9. WakingDragon

    WakingDragon

    Joined:
    Mar 18, 2018
    Posts:
    41
    @CreativeChris Here is an example of the stuff I mean...
    This is the documentation page for Relay: https://docs-multiplayer.unity3d.co...how-do-i-pass-allocation-data-to-my-transport
    I am using this to connect up my lobby players, but see this in the code...
    Code (CSharp):
    1. // WARNING allocation.RelayServer is deprecated. It's best to read from ServerEndpoints.
    2.         IPv4Address = allocation.RelayServer.IpV4
    ...and part of me thinks, if there was time to write the commented warning, was there not also time to add a link to the page that tells me how to not use the deprecated method.
    Like I said originally, I am not an expert (and so probably shouldn't be touching things I don't know about), but this adds a straw of uncertainty to a camel that is already well-laden with self-doubt. I am not sure what the camel is in this analogy - maybe the mental capacity to carry the project through the Deserts of Development to the Oasis of Completion.