Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Enter the 2020.2 Beta Sweepstakes for a chance to win an Oculus Quest 2.
    Dismiss Notice

Moving DOTS to 2020.1

Discussion in 'Data Oriented Technology Stack' started by simons_unity, Jun 12, 2020.

  1. simons_unity

    simons_unity

    Unity Technologies

    Joined:
    Feb 9, 2018
    Posts:
    25
    Hi Users,

    In preparation of the 2020.1 Release of the editor we are moving the DOTS development onto 2020.1.

    This means that the Entities 0.11.x package is the last one that is expected to work with 2019.3.12f1.

    The next release of these packages will require at least a 2020.1.0b9 Editor:

    com.unity.collections
    com.unity.jobs
    com.unity.rendering.hybrid
    com.unity.dots.runtime
    com.unity.dots.testrunner
    com.unity.tiny.desktop
    com.unity.tiny.rendering
    com.unity.tiny.text
    com.unity.tiny.web
    com.unity.tiny
     
  2. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    521
  3. chanfort

    chanfort

    Joined:
    Dec 15, 2013
    Posts:
    629
    A bit of topic but I was quite curious if Entities 1.0 is coming for Unity 2020.1 as mentioned in last year roadmap or it's a bit delayed:
     
    SenseEater, Cynicat, tertle and 6 others like this.
  4. UsmanMemon

    UsmanMemon

    Joined:
    Jan 24, 2020
    Posts:
    59
    it's not coming to 2020.1 and it's good that they aren't rushing and let's hope they release it in 2021.1 including netcode, physics and other dots stuff.
     
  5. Opeth001

    Opeth001

    Joined:
    Jan 28, 2017
    Posts:
    707
    i moved my project from Unity 2019.3.15f1 to Unity 2020.1.0b12, but rach time i press Play the Editor Crashes.
     
  6. burningmime

    burningmime

    Joined:
    Jan 25, 2014
    Posts:
    177
    Uh oh. Did you submit a ticket?

    I've been on 2020.1 for a while, and all my crashes have come from generating incorrect/invalid meshes. If the geometry is wrong, it seems to like crashing instead of giving an error message. In particular, GenerateTangents() expects a very specific vertex layout that's unspecified in the docs, and if you get that wrong it's liable to overwrite your normals/UVs with random data, possibly including NaNs, and the next thing you know you're staring at the desktop.
     
    laurentlavigne, Opeth001 and bb8_1 like this.
  7. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    162
    After updating from 2019.4.1 to 2020.1.0b13, I made sure all my packages were up to date.

    Then I pressed play.


    upload_2020-6-29_16-44-1.png

    15 minutes and counting... How long should I wait??
     
    OmegaNemesis28 and Opeth001 like this.
  8. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    162
    I finally killed it via taskmanager after 20 minutes (no cancel button). When i brought it back up and hit play, it seems to be working fine now.

    And my FPS in the editor went from 120fps in version 2019.4.1 to 320fps in 2020.1.0b13 . Oooolalala!!!
     
  9. davenirline

    davenirline

    Joined:
    Jul 7, 2010
    Posts:
    668
  10. Opeth001

    Opeth001

    Joined:
    Jan 28, 2017
    Posts:
    707
    No, I did not submit a ticket, because each time, even if it is a very simple bug to reproduce, Unity Team requests a repro project and this game project is under NDA so i am not allowed to share it.
     
  11. MNNoxMortem

    MNNoxMortem

    Joined:
    Sep 11, 2016
    Posts:
    590
    A repro project does not mean you have to share your project, but a project that reproduces the bug, so NDA is not really a problem.

    /rant start

    Having said that... I completly feel you. Creating those is a lot of effort and sometimes nobody is actively working on them for months and that is why I also very often if I encounter a bug that would be reproduceable just stop following up with Unity. It just can feel very frustrating and feels like beeing abused as a free member of the QA team, in particular when it is stuff where one really scratches ones heads and thinks about "how could this be released".

    The only time I still actively help with finding bugs is when I personally are completly blocked. In all other situations I simply find a way around it by not using Unity or that feature of it at all for that. It makes me sad, because it could be better, and sometimes I am pretty sure some of the features have been fixed since I ran into those problems early on - I just don't have the time to risk "trying it out all over again", therefore I wait until other people have wasted their time on that, and then begin to pick it up again. It could be easier and we could feel more in the loop (and I have seen other companies that do that way better... but I also saw companies that are 10x worse regarding that) - in particular as those bugs remain in the engine much longer than necessary, and I am very sure there are people that do not raise their voice here on the forum but suffer in silence, drop their unity projects, etc.

    /rant over

    Stepping back from the bad feelings of the past. Think about it as follows: Is the bug critical enough to make you not use Unity (either by making it impossible, or pure frustration)? If yes, why isn't it worth your time to help to get it it fixed by creating a repro project? If it is not worth your time, why should it be worth their time?

    And as we are in the Dots forum here, I must really say, this is clearly a project within Unity, that has a huge focus. From my personal experience I would say that here over 90% of all things I have raised where either: confirmed, looked into, fixed, planned to be fixed for or (and not seldom) even answered by Joachim himself, and in over 95% of all cases community members have been actively helping here, as there are some that really spend a lot of time helping out, where we clearly reach the boundaries of what Unity seems to be able to support (e.g. the often raised documentation, etc).
     
  12. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,685
    I am curious, what's the reasoning behind this?
    2019.4 LTS was finally out, now we are back to square one waiting another year :)
     
  13. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    5,457
    It's not the first time happening this way, last time, and I believe this time as well, the reasoning was/is that if and when they need to do engine change for fixing or rewriting any part of the system, it is impossible to do in 2019, since it is already LTS. It cannot have feature changes, only bug fixes.
    If they were support 2019, they would lose the ability to make any engine change. Since the final release is still far out it is reasonable to expect some changes even in the engine to support the system.
     
    dzamani and GliderGuy like this.
  14. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,510
    That said, it would be interesting if we could know what exact engine feature needed in the target version. At least it could make early adopter more willing to follow into versions that potentially contains more problems in other area. (and maybe could help looking for bugs, if the bug happen around those new things)

    For example I think 2019.1 has hidden audio engine revamp that is needed for DOTS Audio, and 2019.3 has IL processing feature required for auto system code to bursted job magic. Maybe they could list out what's waiting in 2020.1.
     
  15. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    627
    New preview packages list shows that then even not target entities for 2020LTS for now
    may be only for 2021. They in experimental stage so actually no promises.

    I think Unity want to base new technology on new C# and .Net and dont waste time to support old ones, at last it looks like that if they target 2021 where I believe entities will be bases on .Net 5 on release :)

    Sticking package in experimental stage to old tech just dont have sense :)
     
    GliderGuy, UsmanMemon and MNNoxMortem like this.
  16. Alaiing

    Alaiing

    Joined:
    Nov 17, 2012
    Posts:
    13
    It's often better to restart the editor when upgrading packages!
     
    lclemens likes this.
  17. nicolasgramlich

    nicolasgramlich

    Joined:
    Sep 21, 2017
    Posts:
    182
    often always and nuke
    ./Library
    ,
    ./Temp
    ,
    ./obj
    ,
    ./Assets/StreamingAssets
    &
    ./Assets/SceneDependencyCache
    while I'm at it. I literally don't even try anymore without that, even if it takes like 5 minutes to reopen the project afterwards.
     
    MegamaDev likes this.
  18. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    521
    On 42 GB project in would take 6-7 hours to reopen after that.
     
  19. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    2,551
    6-7 hours is not the norm... Our 55GB takes 45-60min to import depending on hardware

    That said your point still stands, no way you can clean those after an update. Can just nuke the ScriptAssemblies folder inside if something goes wrong.
     
  20. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    521
    Agreed, it is not a norm, becase I have more than 80 000 256x256 png files (huge heightmaps of earth and moon splited into several LODs, 2GB total size) among other assets. Recently a moved all these assets into separate Unity project. That helped a bit, but, yes, removing Library folder is usually not an option.
     
    Last edited: Jul 8, 2020
  21. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,799
    Some DOTS packages already have 2020.x related things and hybrid v2 alone is 2020.1+ only.

    Moving everything to 2020.1 is likely to reduce the extra work they'd need to do to keep things running smoothly on 2019.x side. There's nothing new about aggressive version requirement bumps on DOTS either.

    In general considering DOTS isn't even ready yet, I don't really see what's the issue. I'd get the concern if it actually were marked production ready and they kept bumping the engine requirements at the same pace.
     
    Delforce, _Prism_, transat and 7 others like this.
  22. giraffe1

    giraffe1

    Joined:
    Nov 1, 2014
    Posts:
    205
    Just installed 2020 latest release version. No entities package.?! Is there any word on when this is coming?
     
  23. Opeth001

    Opeth001

    Joined:
    Jan 28, 2017
    Posts:
    707
    did you tried enabling Preview Packages from Settings ?
    try adding this line "com.unity.entities": "0.11.1-preview.4", to the Manifest.json file in packages folder to force adding Entities package to your project.
     
  24. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,799
  25. giraffe1

    giraffe1

    Joined:
    Nov 1, 2014
    Posts:
    205
    Thank you guys, I didn't know this.
     
  26. johnroodt

    johnroodt

    Joined:
    May 30, 2012
    Posts:
    6
    With all the hype around ECS early in 2019, I thought we'd see it released by the end of 2019.
    Then we were told to expect it during Spring 2020 (N. Hemisphere) ... and now, 7 weeks into Winter, we discover that it isn't even in Preview for 2020.1 !? That came as a shock. Really disappointing
     
  27. UsmanMemon

    UsmanMemon

    Joined:
    Jan 24, 2020
    Posts:
    59
    They can release it now by fixing only bugs but they want to make sure everything is done right with right principles before release and development never stopped ECS has received professional development for 3 years.
     
    Opeth001 likes this.
  28. chanfort

    chanfort

    Joined:
    Dec 15, 2013
    Posts:
    629
    I would probably prefer incremental release cycle similar like it is done with Burst, i.e. with entities could be 1.0 mostly bug fixes then 1.1-preview.1, .2 ... until stable release of 1.1. Then similarly with 1.2, 1.3 and so on. Unless there are major issues which needs more time...
     
  29. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,799
    It's still in preview, it's just hidden in package manager (it's not like they fully removed it). I'd guess Unity really just wants to hide more experimental stuff before it's ready for mass adoption.

    I can understand the attempt of limiting the visibility of DOTS packages as they are still very raw and go through tons of API changes. While I get the idea, I still feel that hiding preview packages by default should be enough. What I'd prefer is having additional stage for experimental stuff instead. Like have: "Experimental", "Preview" and "Release" to give user better idea on the development stage of the feature.
     
    _Prism_ and snacktime like this.
  30. runner78

    runner78

    Joined:
    Mar 14, 2015
    Posts:
    264
    "Experimental", "Preview", "Alpha", "Beta", "Pre Release", "Release Candidate", "Release", "Deprecated", "Abandoned" :D
     
    Ghosthowl, Tanner555, R0man and 9 others like this.
  31. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    610
    Seems like it's not available yet at public Unity Registry. What's the ETA of making it available?
     
  32. Stroustrup

    Stroustrup

    Joined:
    May 18, 2020
    Posts:
    136
    seems you need 2020.1 and not b9
     
  33. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    197
    https://blogs.unity3d.com/2020/06/24/package-manager-updates-in-unity-2020-1/
    Here's hoping the ECS framework falls in the former category, not the latter.

    Anyway, these packages are apparently being hidden now and need to be added manually.

    The ECS package can be added by adding com.unity.rendering.hybrid through the "Add package from git URL..." option in the Package Manager. This Hybrid Renderer package will then add the Entities com.unity.entities package as a dependency.

     
    _Prism_ and Tanner555 like this.
  34. Stroustrup

    Stroustrup

    Joined:
    May 18, 2020
    Posts:
    136
    you can turn on preview packages in project settings
     
  35. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    197
    As of 2020.1, the ECS packages do not show up when turning on Preview Packages in the Project Settings. You have to add them manually via the "Add package from git URL..." option.
     
    _Prism_, banan1234 and charleshendry like this.
  36. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,248
    FTFY
     
  37. fullcorder

    fullcorder

    Joined:
    Mar 9, 2015
    Posts:
    2
    Unity should give a good explanation for the roadmap delay.
     
    pm007 likes this.
  38. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,048
    The explanation most likely is, because they want to make sure things are as correct, performant, and bug free as possible. Is that not to your liking sire?
     
    _Prism_ likes this.
  39. Tanner555

    Tanner555

    Joined:
    May 2, 2018
    Posts:
    67
    I couldn't agree more. DOTS should be just about production ready in 2020. The fact that you can't even find DOTS packages in the package manager anymore is ridiculous.
     
  40. TheOtherMonarch

    TheOtherMonarch

    Joined:
    Jul 28, 2012
    Posts:
    128
    I think unity is saying DOTS will not be part of 2020.3 LTS. DOTS was going to reach verified in 2020.1 so it has been delayed at least two releases and likely longer. It is really hard to know from unity's press releases and events how far away a given feature is. I have a hard time planning ahead with my development. At this point I bet DOTS will not reach verified until 2022.1. Because things usually increase exponentially.
     
  41. Stroustrup

    Stroustrup

    Joined:
    May 18, 2020
    Posts:
    136
    after moving to 2021, i can't get dots animation to work. it can't get the assembly references

    anyway, animation never really worked for me and would make the screen flicker black periodically when skinned character was in view. had extra issues in hybrid render 2 where the scale of the object being animated would change and be rendered at the wrong position. i used the package for the animation curve blob asset reference


    hdrp 9 renderers everything as grey, when you turn off fog, nothing is rendered.


    NativeDisableContainerSafetyRestriction is broken and causes netcode to insta crash on play. also ComponentDataFromEntity translation / rotation gets duplicated for each child causing you to quickly go over the entity component size limit.

    dsp graph doesn't work in il2cpp
     

    Attached Files:

    Last edited: Aug 3, 2020
  42. Kirkules_

    Kirkules_

    Joined:
    Aug 5, 2014
    Posts:
    50
    I'm looking for a DOTS mentor.

    My goals are to create a new 2020.1 dots project, import all the packages I need to use DOTS for an online multiplayer FPS game, and get it building on all of the platforms that are supported. We can screen share using google meet. Hopefully it won't take more than a few hours of guidance from you.

    I'm having problems creating a buildable project that has all of the required packages (Entites, Unity.Physics, DOTS, etc).

    Update:

    I updated to 2020.1.2f1 and a lot of the problems went away. Now I see Entites other packages that weren't visible before. There are still many exceptions being thrown in the console from the burst compiler and other systems, but the project builds and runs.
     
    Last edited: Aug 14, 2020
    _Prism_ and johnroodt like this.
  43. Rup3rt

    Rup3rt

    Joined:
    Nov 23, 2018
    Posts:
    7
    I'm looking if its worth to change to Unity 2020.1 but i'm so scared that by doing that all the systems that I already build in the 2019 version could broke.

    To the ones that already make the jump into the 2020.1 version of DOTS. How smooth was that change? It was worht it? or, it is better to wait for bigger changes and improvements?
     
  44. jdtec

    jdtec

    Joined:
    Oct 25, 2017
    Posts:
    182
    I've found 2020.1 to be fine, however, I haven't actually updated the various DOTs packages since the release of Entities 0.11.

    Upgrading can be an arduous process and I've seen new issues reported post v0.11 that push the cost benefit ratio past what I'm willing to go through for an upgrade. When new releases happen I still scan the change log to see if there are any new features worth upgrading for.
     
    jashan likes this.
  45. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    162
    I agree - DOTS is a LONG way from being production ready. Take the state of DOTS on Android for example: Currently you can't even use HybridRenderer v2 on Android at all because it will crash without disabling multi-threaded rendering. If MTR is disabled, performance is horrible (A 25fps drop just to display a simple standalone blank terrain mesh), the logcat will be full of errors, and random crashes will still occur. IL2CPP on Android does not function at all. There are many other problems on other platforms. The whole point of DOTS was to improve performance, and traditionally Unity was focused on mobile platforms, so unless those two principles are abandoned, it would be unrealistic to expect an official DOTS release for 3 or 4 years.
     
  46. nicolasgramlich

    nicolasgramlich

    Joined:
    Sep 21, 2017
    Posts:
    182
    I'm using it just fine on Android(2019.4.8f1, Hybrid v1), but I'm not sure if you were speaking of 2020/v2 specifically.
     
    lclemens likes this.
  47. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    162
    Yeah, I'm talking about V2 + 2020. V1 is no longer receiving any development and it has problems like flashing disco colored textures on Android ( https://forum.unity.com/threads/disco-srp-batcher-bug.778589/ ) and it doesn't support a lot of things like the DisableRendering tag.
     
    nicolasgramlich likes this.
  48. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,048
  49. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    469
    According to this post, the Entities package is no longer considered for 2020 "stable & verified" release. Can we have confirmation on that? Is the package going to move from 2020.1 to 2020.2 to 2021.x until stable? That is really important for planning.
     
  50. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    627
    According to 2021 roadmap the Entities package is no longer considered for 2021 "stable & verified" release too.
    So may be 2022?! It is can help in rough planning :)
     
unityunity