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. Dismiss Notice

State of ECS & DOTS

Discussion in 'Entity Component System' started by raybarrera, Jan 25, 2021.

  1. Jawsarn

    Jawsarn

    Joined:
    Jan 12, 2017
    Posts:
    215
    You had already blocked this under user requiring to allowing experimental packages to be shown, give us another tick box to show for non LTS experimentals, don't make it harder for no good reason.
     
  2. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    I would love to see a larger part of Job system got to Stable release first.

    Take as much time on DOTS as you need, but locking a large part of Job systems behind preview packages seems like the wrong direction.

    For now my main frustration is: even for things as fundamental as NativeHashMap, they are locked behind preview packages and as such "you are using them at your own peril".

    Increasingly, Unity asset store package requires job system packages to write high performance code, unfortunately it means we are back to the "update preview package, oh no some API has changed" mess.

    Please, we all know some of these foundational code have been stable for a year or more, find a way to slice them into a separate stable package would help the community a lot.

    Thx
     
    rustinlee, phobos2077, deus0 and 2 others like this.
  3. Micz84

    Micz84

    Joined:
    Jul 21, 2012
    Posts:
    436
    1. It is not paradigm it is more like architecture patter DoD is more like a paradigm.
    2. ECS is part of DOTS not another way around. You can use other parts of DOTS without ECS.
     
    phobos2077, Orimay and Vacummus like this.
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Re: preview etc packages...

    I think its very much the right decision to make it harder to reach in proportion to how finished it is / how much it will change. This is better for both Unity's reputation and business. This means also, people don't get a bad impression of DOTS which is easy to achieve when a lot of support coding is missing still.

    Any experienced developer can and will find this stuff.
     
    phobos2077, Ryukai3, Vacummus and 5 others like this.
  5. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    500
    Three aspects are most important about dots project for me.

    Unity properly integrates it into the editor and workflow such that its pragmatic and useful to develop with.

    We have the debugging tool features available to properly handle this data structure centric approach

    Plenty of example projects explaining how to solve from the traditional game object to DOTs equivalent
     
  6. Daxten

    Daxten

    Joined:
    Sep 20, 2013
    Posts:
    30
    I've made support request asking if there was active work put into dots/ecs or if it was abandoned, since there was no update for ~6 months.

    My request got deleted without a response
     
    BenzzzX, mischa2k, Orimay and 2 others like this.
  7. deus0

    deus0

    Joined:
    May 12, 2015
    Posts:
    256
    I think because they said they had difficulties and that it would delayed until their engine work was done. There was an official post about it but it was flooded with concerned devs. They said to use LTS for now until it is solved, probably next year. Yeah i'de say their are concerns with it, but until we get any information from the inside, it's useless to speculate.
     
    adammpolak likes this.
  8. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Unity just wants to work on it without making it work for each and every version of Unity they're putting out. This is a lot of man hours saved.
     
    shikhrr, deus0, adammpolak and 2 others like this.
  9. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    Hello i do not understand because vegetation studio pro uses Ecs Jobs with culling frustum etc
    The code is difficult to read all works for a long time
    Rest really simplification so why the mystery remains ?
     
  10. Krajca

    Krajca

    Joined:
    May 6, 2014
    Posts:
    347
    Because Jobs and Burst are released packages and the rest of DOTS is still in a highly experimental phase.
     
    adammpolak likes this.
  11. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    but it works
    and it uses ECS and DOTS and it works
     
    deus0 likes this.
  12. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,926
    There are parts of DOTS that are perfectly usable currently : Burst, Jobs, the core ECS (to a certain extent). It's possible to successfully use those parts in real projects today

    But when people talk about "when will DOTS be ready", they usually mean the full package: physics, rendering, input, animation, additional ECS features, good editor integration/workflows, etc.... Those are the parts that aren't ready yet.

    You can use DOTS to speed up some parts of a game made with GameObjects & Monobehaviours, and I'm assuming this is what Vegetation Studio does. But a day will (maybe) come where you'll be able to make the entire game in DOTS
     
    Last edited: Sep 15, 2021
  13. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    I agree but before embarking on the rest the base must be simplified immediately do not put together everywhere
    I think the problem of unity is to want to be everywhere at the same time (integration of all the consoles that passes very quickly to another)
    If the base works already simplifion the maximum so that it becomes the norm
     
  14. Guedez

    Guedez

    Joined:
    Jun 1, 2012
    Posts:
    823
    If that's the actual reason for the radio silence and delay, then my faith will be restored once it finally releases;
    But if it turns out that it was something silly like legal reasons due to going public, I will definitively search for another engine for my next game, as I will have lost all faith in the future of Unity. There is also a possibility that the reason is something else that turns out justified... Unfortunately my current game is way too integrated and dependent on Unity and would be impossible to port in any feasible time.
    The fact that there is no official position on something that heavily impact my livelihood is deeply distressing... but I guess that's all that there is to it, all we can do about it is shower the forums with empty complaints that will do nothing but relieve stress.
     
    naknuknik, Orimay, NotaNaN and 6 others like this.
  15. GameDeveloper1111

    GameDeveloper1111

    Joined:
    Jul 24, 2020
    Posts:
    100
    I believe that Joachim Ante, Mike Acton, and other members of the Unity DOTS team care deeply about it and are thinking diligently and rationally about how to best allocate resources to bring it about in a way that works for the long-term of Unity and game development.

    Here are two talks by Mike Acton that contributed to this view I have:





    As far as current Unity DOTS risk goes, the team has communicated those risks and it's up to each developer to decide whether to expose themselves to that risk.
     
    Last edited: Sep 15, 2021
  16. Guedez

    Guedez

    Joined:
    Jun 1, 2012
    Posts:
    823
    I guess I did accept the liability.
     
    adammpolak likes this.
  17. OUTTAHERE

    OUTTAHERE

    Joined:
    Sep 23, 2013
    Posts:
    656
    I'm pretty certain at this point that Unity DOTS will be pronounced discontinued within 6 months from now, and I wish they had done it with the April announcement.

    ("crossroads", in hindsight, is such a dead giveaway, but the reason given seemed plausible at the time)

    Pity, it's an immensely promising piece of tech, yet all "we" got this year is that ridiculous, poisonous ECS patent and exactly zero releases nor roadmap updates other than "0.18 is underway" since January.

    Now, with a Market Cap north of 37 Billion USD, and the ambitious and passionate nature of previous DOTS communications and showcases, how can our conclusions be anything else than the above?
     
    Last edited: Sep 16, 2021
  18. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    I still believe packages like Burst (released), Collections (1.0.0-pre5) are continued to be developed, and using them should be pretty safe.

    My real concern here is Jobs package, which isn't a part of DOTS, but the foundations: it's been at 0.8.0 since late 2020, and it's locked to Collections 0.15 ever since, and no longer exposed to 2021.2 beta unless you know the drill to get it.

    My fear is it will be deprecated and some of the assets I heavily rely on is effectively dead.
     
  19. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,626
    Jobs 0.11 is already out and is built against collections 1.0.0-pre5
    https://docs.unity3d.com/Packages/com.unity.jobs@0.11/changelog/CHANGELOG.html

    upload_2021-9-16_18-6-23.png
     
    deus0 and IAL like this.
  20. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    deus0 likes this.
  21. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,626
    Weren't publically released

    -edit-

    funny enough 0.11 was first released with a dependency on mathematics 1.2.2 which isn't released so they quickly re-released it with a dependency on 1.2.1
     
    deus0 likes this.
  22. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    In short, I feel like there are some long explanation coming...
     
  23. Krajca

    Krajca

    Joined:
    May 6, 2014
    Posts:
    347
    But the main part of the Jobs package is integrated within unity "core" as it was released some time ago along with Burst. The remaining Jobs package contains only custom jobs that work with custom native collections from the Collections package. So yeah Collections and Jobs are connected, but remember that the core part of the Jobs is already released. Looking at how basic functionality it is I don't see how it can be discarded in the future. It applies to both packages.
     
    apkdev likes this.
  24. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    True, just that quite a lot of asset store package and my code now depends not just on the internal jobs, but also the Jobs package.
     
  25. Guedez

    Guedez

    Joined:
    Jun 1, 2012
    Posts:
    823
    I feel like they might actually eventually deprecate preview packages as a concept, they certainly feel like the dependency hell of javascript projects. It would slow down the iteration, but I'd really love if all packages shared the same version number and release date, as one would be certain that all of the same numbered packages would be compatible with one another just by looking at it.
     
  26. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    9,903
    The solution is simple: stop looking at preview and experimental packages so the rest of us can play with them.
     
  27. Daxten

    Daxten

    Joined:
    Sep 20, 2013
    Posts:
    30
    Hey, just got an update to my ticket... opening the provided url does not work but I got an email with an answer which I will provide here:

     
    Baggers_, hippocoder, bitinn and 8 others like this.
  28. beevik_

    beevik_

    Joined:
    Sep 27, 2020
    Posts:
    87
    naknuknik, Anthiese, Wattosan and 6 others like this.
  29. Daxten

    Daxten

    Joined:
    Sep 20, 2013
    Posts:
    30
    andreamatt, Wattosan, MehO and 5 others like this.
  30. OUTTAHERE

    OUTTAHERE

    Joined:
    Sep 23, 2013
    Posts:
    656
    Wattosan, jiraphatK and lclemens like this.
  31. Orimay

    Orimay

    Joined:
    Nov 16, 2012
    Posts:
    304
    Okay, we have Kinematica where Unity said it's getting on hold for a year. Sad, but no complaints, right?

    But going radio silence feels like total disrespect. And even more on top of that — a promise to come back with responses and just ignoring the community awaiting for when that promise is gonna get fulfilled. And EVEN MORE — the seal of the topic, so that no more reasonable questions could come up.

    Okay, devs. You are not worthy of getting the promised response. We won't take a minute to say it takes more time to update the topic or to give the promised answers. We will seal the topic to shut you up. This is how much we disrespect you.

    That is what I feel was said by these actions.

    No problem with ECS being experimental. No problem with it taking way more time than expected. No problem with delayed followup. Problem with spitting into the dev's soul by total ignore and leaves without figs
     
  32. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,886
    The strange part was how they dumped their ECS visual scripting due to their 'clients' wanting a regular UE blueprints-style graph, yet they persisted with ECS for programmers, including trying to patent it. I'm yet to see how regular programmers will ever get to grips with it.

    And I still don't see how they can develop such a thing without battle-testing it with games they make themselves.
     
    OUTTAHERE likes this.
  33. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,926
    Have they really announced that they're canceling DOTS visual scripting? I wasn't following that topic closely.

    -----

    I strongly feel that in order to make DOTS usable by most people, they're gonna need some kind of "scripting language" whose purpose is to codegen DOTS code, whether that language is node-based or text-based. Arguably, "Entities.ForEach" is kind-of that already, but it's not really enough.

    I do see a few Unity devs talking about C# SourceGenerators on their twitters though. So I guess this is a good sign
     
    Last edited: Sep 17, 2021
    andreiagmu, Krajca and apkdev like this.
  34. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    9,903
    No, they did not. It's fake news as usual in these topics.

    The VS team switched gears and worked/working on integrating Bolt after the acquisition. They announced that they will use the thing they made for DOTS VS so far, but it won't be a separate feature, it will be integrated into Visual Scripting.

    Besides, doesn't make too much sense developing visual scripting for DOTS until the foundation isn't finalized.
     
    Orimay, Luxxuor, Krajca and 2 others like this.
  35. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    702
    There. Not really cancelled, but:

    "We are pausing the releases of DOTS VS but are still developing and maintaining it, as Bolt is being accelerated to progressively merge with this architecture. More details as part of the roadmap below.".

    They later on said in April:

    "the current plan is to have an extension of Unity VS for dots - so same ux, different backend."
    So basically they bought Ludiq, abandonned all internal visual scripting efforts in favor of Bolt, renamed Bolt Unity Visual Scripting and made it part of Unity 2021.

    If DOTS still exists, it probably still does, I guess they want all Unity users to be able to use it alongside Unity Visual Scripting, Animators, Scriptable Rendering Pipelines and etc.

    From the way they word thing, having features "for all Unity users" seem to have become their primary focus since January.
     
  36. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    825
    I feel like there's been a shift from DOTS being the heir apparent to to the kingdom that is the UnityEngine, to now a quirky little sideshow that must conform to 10 year old antiquated workflows because backwards compatibility is paramount.
     
    deus0, adammpolak, lclemens and 4 others like this.
  37. Lordinarius

    Lordinarius

    Joined:
    Sep 3, 2012
    Posts:
    94
    Don't know the full details but Jonathan Blow's JAI is doing something similar to this. It is fully compiled language though.
     
  38. TWolfram

    TWolfram

    Joined:
    Aug 6, 2017
    Posts:
    75
    I really hope this isn't the case, but with Unity not telling us anything except "we have nothing to share right now" we're kind of left to draw our own conclusions.
     
    hippocoder likes this.
  39. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The official line is wait and see, which means asking again won't change that until Unity CAN actually comment. So this thread is until then for users to support users.

    Yup! And that is only possible if they aren't just updating things that will have to change.
     
    deus0 and apkdev like this.
  40. TheOtherMonarch

    TheOtherMonarch

    Joined:
    Jul 28, 2012
    Posts:
    791
    They have a lot going on with 2021.2 which was suppose to be mainly a bug fix release but ended up having a lot of features. I am sure we will get an update either when 2021.2 launches or more likely after 2022.1 beta. Unity changed the way they released packages. We need to wait and see.

    Hopefully we get an update in the 2022 cycle but I could easily see them missing the 2022 cycle entirely. The silence is probably because they don't want people using ECS yet. When faced with the reality that their goals with ECS 1.0 including animation, networking, graphics and editor integration which realistically many not arrive until the 2023 release cycle.

    I hope that they focus on core ECS and editor integration. I think that if they focus on that they can realistically make the cut during the 2022 cycle for Core ECS. The conversion workflow is terrible and redesigning that realistically pushes them towards 2022.2 for Core ECS.

    But they can still release a new preview Core ECS for 2022.1 and still follow their new release logic for preview packages. Their new release logic means preview packages can only realistically be release with the xxxx.1 node. Releasing a preview on xxxx.2 would be way too high risk and would only happen in rare cases when you could risk a short preview period and had slippage.
     
    Last edited: Sep 19, 2021
    deus0 and Krajca like this.
  41. Guedez

    Guedez

    Joined:
    Jun 1, 2012
    Posts:
    823
    Throwing out another conspiracy theory. Maybe the silence is because they know the preview API will be thrown out of the window in lieu of a new better way of doing things and they don't want to break the news before they have something substantial to show that it was all worth? I mean, we all knew the risks that the preview API could be thrown out of the window since the start, and was done at least once already with the whole Injection thing...
    Imagine if they came up tomorrow saying that everything we built up until now is not usable on ECS 1.0 but don't show how things are now going to be because it's not ready, the chaos and panic would be even bigger than it currently is.

    It's hard to have uplifting views on the whole thing, considering 2020 and 2021 trained us all to be as pessimist as possible about everything as a defensive mechanism...
     
  42. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,626
    You can actually create your own delegate and pass it to ForEach for any combination/length you require.
    https://docs.unity3d.com/Packages/c...al/ecs_entities_foreach.html#custom-delegates
     
    deus0 and Vacummus like this.
  43. RecursiveEclipse

    RecursiveEclipse

    Joined:
    Sep 6, 2018
    Posts:
    298
    Too quick, I tried deleting my post to reword, but no worries :p

    I am aware of the custom delegates, but part of that bit I mean(IIRC) it's a code gen issue for Unity where they themselves can't reasonably generate too many combinations.

    I imagine at this point that the next version could have API changes, but nothing too serious. But we don't know what the DOTS team's focus is, ie helping with compatibility issues, vs new features, maybe a bit of both.
     
    Last edited: Sep 20, 2021
  44. IAL

    IAL

    Joined:
    Nov 11, 2016
    Posts:
    7
  45. Vacummus

    Vacummus

    Joined:
    Dec 18, 2013
    Posts:
    191
    Brian gave some insights on the potential work left to do for DOTS at end of the session linked below (posted 3 months ago). He even talks a little bit about all the speculation in the forums about DOTS being dead. And even a little before that section, they talked about the status of different DOTS packages (such as how DOTS Physics is pretty stable and DOTS Animation still has ways to go).

    Code (CSharp):
    1. https://youtu.be/SoNnyPpE2Ok?t=6115
    (Edit: clicking the link won't work due to timestamp formatting. But you can copy/paste it).
     
    Kirsche, NotaNaN, Anthiese and 4 others like this.
  46. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,926
    The link doesn't work for me but that sounds super interesting
     
  47. Zec_

    Zec_

    Joined:
    Feb 9, 2017
    Posts:
    148
    Just copying the URL worked. Here's what he intended to send.
    <Redacted>

    Edit: Bah, the forums won't let me send it as a pure link. They automatically format the URL into a video player which loses the timestamp. Either way, just copy the URL and paste it.
    https://youtu.be/SoNnyPpE2Ok?t=6115
     
    Orimay, Vacummus and PhilSA like this.
  48. TheOtherMonarch

    TheOtherMonarch

    Joined:
    Jul 28, 2012
    Posts:
    791
    Copy the link. He says basically adopting ECS right now is risky and recommending adoption was above his paygrade.
     
    PhilSA likes this.
  49. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    958
    This is the most down-to-earth talk I have ever heard from Unity.

    I suggest all future Unity talk use this gif:



    Proper link:


    Code (CSharp):
    1. https://www.youtube.com/watch?v=SoNnyPpE2Ok&t=6115s
     
    Kirsche and Kmsxkuse like this.
  50. Vacummus

    Vacummus

    Joined:
    Dec 18, 2013
    Posts:
    191
    It's a great talk and they even gave a shout-out to @DreamingImLatios halfway through for being such a helpful contributor in the DOTS community.
     
    SenseEater, Kirsche, NotaNaN and 5 others like this.