Search Unity

  1. Unity 2018.3 is now released.
    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've updated our Terms of Service. Please read our blog post from Unity CTO and Co-Founder Joachim Ante here
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Unity Multiplayer UNet Deprecation Thread

Discussion in 'Connected Games' started by BHouse, Aug 2, 2018.

  1. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    2,815
    Should be able to use Ignorance with just one line of code.
    But sure, an official rUDP library from Unity would save us a whole lot of work, so like @goldbug said above, we are definitely looking forward to that day.

    I have seen your name on the networking forums before. Feel free to join the Mirror discord, maybe you can help making things easier for everyone :)
     
  2. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    Ignorance does look easy to drop in. But given that it's just a thin wrapper between Mirror's TransportLayer and ENet, it's not the most transparent system to work with as any problems could have come from either side, and it introduces the ENet dependency as well. This is not ideal for a commercial situation.
     
  3. goldbug

    goldbug

    Joined:
    Oct 12, 2011
    Posts:
    654
    It also includes LLAPITransport, if you want to stick to LLAPI
     
  4. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    Which (as I think I've said to you several times before) is irrelevant if we're talking about forward compatibility once UNet is gone. This is the UNet Deprecation thread.
     
    GameDevCouple_I and Joe-Censored like this.
  5. goldbug

    goldbug

    Joined:
    Oct 12, 2011
    Posts:
    654
    Looking forward: once they implement reliable, we should be able to get the new transport working with Mirror.
     
  6. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,135
    We are also pretty livid that this was removed without any prior warning despite official word it would be removed after 2018.4.

    How is any studio supposed to undertake commercial contracts if we cant trust what unity outlines as future plans?

    Its very hard already to make networked solutions using unity, harder if those solutions cease to function from no fault of our own, basically because we are not mind readers.

    Please please communicate with us next time before making such a decision, or at least dont tell us you will do one thing and do the opposite.
     
  7. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    231
    Wow, relax guys. It has not been removed yet. Look for yourselves. The path is:
    Editor\2018.3.0f2\Editor\Data\UnityExtensions\Unity\Networking\
    I think the Unity dude's comments were wildly misinterpreted.
     
  8. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    No, they were just wrong.
     
  9. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    And one more thing, in light of today's news...

    Will we still be able to host your own dedicated servers without paying for an additional licence?
     
  10. jackt_unity

    jackt_unity

    Unity Technologies

    Joined:
    Oct 30, 2018
    Posts:
    28
    Hi Kylotan,

    Can you confirm what news you are referring to, and I will try to confirm whether this is the case for you?
     
  11. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    57
    Hi All - apologies for the confusion about HLAPI removal.

    We've always planned to move HLAPI to a package with full source, independent of the deprecation plans. That could happen at any time.

    LLAPI, however, is too tightly tied to the core Unity player loop, and we will not move it to a package. At some point in 2019, it will be removed completely, but as I've mentioned in this thread before, we will wait to remove it until the new low level stack/packages are stable enough and have enough features to make that reasonable.

    At this time, that means 2019.2 at the earliest, and very likely may be 2019.3 before you no longer see the code in the editor and engine.
     
    goldbug likes this.
  12. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    57
    I just updated the initial post to reflect this (and include the link to the alpha transport), so hopefully others in the future will start with the latest info.
     
  13. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    I am referring to the recent news regarding the ToS and Improbable, and specifically the fact that we keep being told that they are in breach of the ToS without there being any specific indication of which part they infringed. The implication is that Unity are demanding that nobody helps anyone with running Unity games online without paying Unity for the privilege. The reality is that the ToS basically means they could demand that almost anyone has to pay extra to run games online, even their own.

    For example, the current ToS say "you may not use a managed service running on cloud infrastructure (a “Managed Service”) [...] to install or execute the Unity Runtime on the cloud or a remote server". What counts as a Managed Service?
    • If AWS automatically spin up an extra instance of my game, am I in breach?
    • If my ISP administers my hosting for me and reboots the game, they're another 3rd party executing the runtime - am I in breach?
    • If I am a company that runs live operations for other companies, and we're administering and restarting their Unity servers, are we the Managed Service, and are they in breach?
    I mean, it's arguable that all this is irrelevant given that the ToS essentially say it is unauthorised to even distribute a Unity game, networked or not, but I'm going to pretend that isn't there right now...
     
  14. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    Thank you very much for this - very clear and precise.

    Edit: see next 2 posts. I don't want to read too far between the lines, but could you comment on which of these scenarios is closer to the current plan:
    1. Unity will update the future HLAPI package, somewhere before 2019.3, in order to use the new com.unity.transport low level code
    2. Developers will be expected to edit local copies of the HLAPI package to use the com.unity.transport code
     
    Last edited: Jan 15, 2019 at 4:55 PM
  15. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    231
    They've already updated the HLAPI to allow using a different transport. It'll be configuration instead of code changes.
     
  16. Kylotan

    Kylotan

    Joined:
    Feb 17, 2011
    Posts:
    176
    Good point, but the new transport and the old transport don't have the same interface, so let me reword as:
    1. Unity will write a wrapper, somewhere before 2019.3, in order to use the new com.unity.transport low level code with the HLAPI
    2. Developers will be expected to write their own wrapper for the com.unity.transport code to plug into HLAPI
     
  17. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    57
    The plan is closest to #1 - to update the HLAPI package to be able to use the new transport once we've released reliability features. TBD exactly when, but it will be before LLAPI is removed from the engine.
     
    Kylotan likes this.
  18. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    255
    So which is it then? Are you deprecating (and eventually removing) the HLAPI that has been part of Unity for several years, or are you fixing it and moving it to a package that you'll actually be improving & maintaining? In the latter case, how do you square that notion with this:

    upload_2019-1-17_13-53-49.png
     
    Last edited: Jan 17, 2019 at 6:53 PM
  19. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    57
    The HLAPI will move to a package independent of sunset timeline; while this package may exist indefinitely it will only be officially supported for the timeline promised (until Spring 2021). Until that date we will still provide critical fixes to keep it functional, but no new feature development.

    Future higher-level features will be provided as packages throughout 2019 and beyond. For example FPS-style networking is our initial focus, so this year you can expect to see packages for interpolation, forward prediction, delta compression, etc. However, we will not be building another monolithic HLAPI that directly replaces the UNet version; we've made the call that transparent and modular features provided as optional packages is a better architecture for games to be able to perform sufficiently well.
     
    Guerro323 and chiapet1021 like this.
  20. BHouse

    BHouse

    Unity Technologies

    Joined:
    Jan 10, 2018
    Posts:
    57
    Confirmed - you will be able to host your servers wherever works best for your game.
     
  21. Anjin_nz

    Anjin_nz

    Joined:
    Jun 24, 2014
    Posts:
    66
    Hmmm. This is not a great situation. Well done Unity devs for raising this important issue. Again and again and again. Too many times.

    Today we are evaluating a our network platform strategy for 2019

    Here's the summary:

    * UNET never really worked.
    * New network solution is still in development and not released (we volunteered to beta but have not heard anything)
    * Photon has broken in 2018.3
    * Working Legacy system removed in 2018.2

    So we should all remain on 2017 LTS? Not a solution if we need dotNet 4.0 libraries (namely GDAL/OGR)

    I am puzzled. Why did Unity remove legacy networking if they knew that the UNET stack was half cooked. Surely a better option was to leave in Legacy until the new system was ready?

    I do applaud the adoption of the entity system that's a good move. But...

    Did you have to kill all the networking stacks to do it? And from the looks of things it is *ALL* the networking stacks. IE nobody can make a networking game on Unity 2018.3+. What do you advise we do?

    Someone very high up in the tech side of Unity should be answering on this thread. It should be an authoritative technical answer which should state what they expect developers to do and that they understand the situation and that its intentional and not a mistake.

    I really don't want to find out that nobody high up understood the developers pain here.

    To people on both sides of the Unity fence thank you for spending time on this issue. Its important.
     
    danger726 and antey3064 like this.