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. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. 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

Official UNet Deprecation Thread

Discussion in 'UNet' started by BHouse, Aug 2, 2018.

  1. SimRuJ

    SimRuJ

    Joined:
    Apr 7, 2016
    Posts:
    243
    So basically, Mirror is the semi-official replacement?

    Luckily I didn't have to use Mirror after all, sending a request to the server and reading the reply works just fine with a "UnityWebRequest" ("UnityWebRequest.Post(url,wwwform)").
    Is that going to stay in Unity?
     
  2. unity_VigorBioFunStudio

    unity_VigorBioFunStudio

    Joined:
    May 10, 2019
    Posts:
    9
    Is there any plan for MMO's needs using Netcode?
    When we expect the first MMO's prototype, 2020?
     
  3. ludum_mubul

    ludum_mubul

    Joined:
    Dec 9, 2016
    Posts:
    25
    Hey guys

    What should I use instead of UNet to create a local multiplayer in game without dedicated server, like in old Quake or similar game with lan multiplayer?
     
  4. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,825
    ludum_mubul likes this.
  5. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    76
    Good question! :)

    Thanks to everyone who responded to the survey we posted here a few months ago. We combined your feedback about existing netcode solutions with in-depth customer interviews, and learnings from prototypes, and shared the findings in this blog post (which includes an in-depth research report).

    We hope this data is helpful in your multiplayer journey, and as always, feedback and questions welcome here!
     
    wlwl2 likes this.
  6. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    76
    This is very much of interest, and we're doing research to explore the space. It turns out that people mean many different things when they say MMO, so I'd love to know:
    • Approximately how many players per session do you hope to connect at the same time? 300, 500, 3,000, more?
    • How "seamless" will the world be - do servers ever have "downtime" / "recycle time"? Can spaces between world zones have loading screens?
    • How are you handling your services for character and world persistence - have you found a sufficiently scalable solution?
    I've already interviewed 4 developers creating MMOs with Unity, and it does seem to be possible, but pushing very large scale, seamless-ness, and scalable services seem to be challenges we've heard pretty consistently so far.
     
  7. unity_VigorBioFunStudio

    unity_VigorBioFunStudio

    Joined:
    May 10, 2019
    Posts:
    9
    Firstly thanks for responding...

    • I meant big MMOs (MMORPG) That accommodate huge number of players at the same time 3000+ in single server (not rendered at the same time) and open world. I do not want to use external solutions i usually prefer use Unity's built in features.
    • I would like to make big map separated by zones, each zone of the map rendered in separated scene, but 3000+ players connected at the same time.
    Would the Netcode Handle huge numbers of players 3000+ in the same server at this moment?
     
  8. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    No.
    You could try DotsNet from the asset store, but in its current state I don't think it would hold 3000+ players either.
    Maybe @vis2k can give you a better answer as he is focused on MMO networking.
     
    vis2k likes this.
  9. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    4,260
    3000+ is definitely too much for MonoBehaviour.
    DOTS is 1000x faster, so that should be doable if you have a good low level transport.

    You can try Unity's dots networking, I think they mentioned ~80 CCU?
    You can try DOTSNET. Mirror has already proven to do ~500 CCU. DOTSNET should definitely handle 1000+.

    Note that everything DOTS/ECS is still in preview. It would be very risky to bet a game on it just yet - you are missing a lot of the tools that you have in MonoBehaviour world.
     
  10. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    I think if you implement a custom INetworkInterface with some optimization it would be possible to let Unity's dots networking support ~200 CCU. If you don't mind editing their package yourself then you could probably edit the NetworkDriver to increase the CCU even more.

    The bigger problem is the API changes, you would have to change/rewrite your multiplayer code every once in a while.
     
  11. R1PFake

    R1PFake

    Joined:
    Aug 7, 2015
    Posts:
    507
    Using a game engine as a large scale mmo server is a bad idea anyways tbh, it works fine for a mmo game client, but for a server you should use something else, "standalone" without all the game engine overhead, even if you disable the graphics stuff, there is still a lot of other overhead in the game engine code, especially if you want to have 3000+ players online at the same time (btw good luck with that, you have to develop a very special mmo or make it f2p if you want to achieve these kind of numbers in 2020 with so many different free options)

    Not all MMORPGs reveal their architecture, but from these who did, I don't know any of them who run 3000+ player on a single server / process, all of them run on multiple servers / process, how to handle these is different, one example would be to split them up per zone, so server 1 handles zone A, B and server 2 handles zone C, D etc and if there are too many people in zone A, because there is a special event or something, they will even dynamically offload that to additional servers / processes
     
    Last edited: Sep 11, 2020
  12. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    I would say running DOTS with the Job system and everything Burst compiled in a server build actually is pretty performant. In my opinion the bottleneck is the bandwidth limitations you might run into with this many players.

    That said, I also agree that there are a lot of MMO specific networking optimizations you would need to do.
     
  13. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,522
    This. People always come with these ideas about "thousands of players on a single server" as it's some sort of standard, but rarely provide examples of MMOs that actually do that. Other than EVE, of course.
     
  14. lalalanno

    lalalanno

    Joined:
    Feb 21, 2017
    Posts:
    1
    Game Over
     
  15. runner78

    runner78

    Joined:
    Mar 14, 2015
    Posts:
    662
    So far i know, EVO run one Solarsystem on one Server. Probably systems with few players, share the servers, and systems with more players get a stronger server.
     
    Joe-Censored likes this.
  16. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,825
    A big map separated into zones makes turning each zone into a separate server instance an avenue to investigate. As far as how many players at the same time, a big part of that is how much data you really need to push. A game needing 60 updates per second will be able to handle far fewer players than a game needing 5 updates per second for example. Many existing networking solutions for Unity can actually handle very high numbers of players if the amount of data needed per player was pretty limited, and you'll need to be optimizing in this area if you're interested in players by the thousands.

    That's my understanding as well. Certain high traffic systems get more hardware resources available, and if a large scale battle is planned in advance you can actually share that plan with CCP and they will move the target system to its own dedicated hardware in anticipation of high player numbers there.
     
    Last edited: Oct 1, 2020
  17. OrientedPain

    OrientedPain

    Joined:
    Mar 26, 2018
    Posts:
    9
    That's Great Thanks.:)
     
  18. Cuttlas-U

    Cuttlas-U

    Joined:
    Apr 11, 2017
    Posts:
    33
    can't wait any longer :confused:;
    so I'm already working on a Real-time project with unity Multiplayer in preview :eek: ;

    I just wish we knew the estimated time for Reliability , sequenced delivery etc... for Low Level API ? :cool:;
     
  19. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    You are talking about Unity NetCode? It already has those features.
     
    Cuttlas-U likes this.
  20. Cuttlas-U

    Cuttlas-U

    Joined:
    Apr 11, 2017
    Posts:
    33
    I mean the transport package (UTP) , didn't find any thing about it in the manual , do you have a link ?
     
  21. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Cuttlas-U likes this.
  22. Cuttlas-U

    Cuttlas-U

    Joined:
    Apr 11, 2017
    Posts:
    33