Search Unity

How can I install ECS on Unity 2020.1?

Discussion in 'Entity Component System' started by dreasgrech, Jul 23, 2020.

  1. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    205
    I have been looking at https://github.com/Unity-Technologies/EntityComponentSystemSamples and it says that I should add the Hybrid Renderer as a package but I cannot find it in the list. The Entities package does not seem to be listed either.

    I have made sure to enable the preview packages option.

    upload_2020-7-23_18-19-22.png

    upload_2020-7-23_18-19-35.png

    So what package do I need to install to get started with ECS?
    I am on Unity 2020.1.0b16.4139.
     
  2. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,685
  3. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    205
    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.

    upload_2020-7-23_19-22-49.png
     
    Last edited: Jul 25, 2020
  4. rsodre

    rsodre

    Joined:
    May 9, 2012
    Posts:
    229
    Nice work, Unity!
    Everybody's life is a little bit more complicated now.
    Be prepared for an avalanche of posts like this.
     
  5. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    The whole having to go to another place to enable showing previews and dependencies was not a great idea. This makes it worse. Development packages also show as Unity Technologies which is confusing.

    I think treating people like professionals should be the baseline. As in that is the bar. If you can make it easier on people that might shoot themselves in the foot by all means do so. But not at the cost of making it cumbersome for everyone. The latter should be a non starter.
     
  6. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,709
    I feel the same way, when people find out how to copy manifest files around this is going to get real messy.
     
    GeekyMonkey likes this.
  7. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,709
    Can someone please help me , what the name or git repo for the New Entity Inspector
     
  8. shmafoo

    shmafoo

    Joined:
    Nov 22, 2016
    Posts:
    24
  9. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,709
    Thank you I have not seen this pages. Is it a complete list.
     
  10. Micz84

    Micz84

    Joined:
    Jul 21, 2012
    Posts:
    451
    I agree that hiding it is overkill. If unity want's to hide some preview packages because they are to experimental, I would add the second checkbox: show experimental packages.
     
  11. Mockarutan

    Mockarutan

    Joined:
    May 22, 2011
    Posts:
    159
    I assume ECS/DOTS is still most of the focus for the future of Unity?
     
    leozhang1 and learc83 like this.
  12. ScorpionWasp

    ScorpionWasp

    Joined:
    Jun 19, 2020
    Posts:
    19
    I'm selecting "add package from git URL" and then entering "com.unity.rendering.hybrid", but nothing happens. It just boots me back to the Package Manager. I have barely started using 2020 and I already dislike it. Help me.

    Edit - Oh, it seems it just quietly downloads the stuff without giving you ANY INDICATION it recognized your command and is doing jack. Seriously, whoever in the usability department gave the go ahead for this deserves to... I'll stop myself here. These days everything you say is taken literally.
     
    Last edited: Aug 19, 2020
    Incmart94 and cultureulterior like this.
  13. BackgroundMover

    BackgroundMover

    Joined:
    May 9, 2015
    Posts:
    224
    I agree, even outputting to the console a line of feedback would be something
     
    ScorpionWasp and bb8_1 like this.
  14. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Okay, I'm confused now. I'm thinking ECS is the future and want to develop my next project around it with the expectation it'll be mainstream in two years, and useable before then (think alpha and early access test builds). Is this not the case? Is it so flaky that Unity don't really want people considering development with it beyond poking around with hobby concepts? When is it expected to be good enough to create, or the basis of, WIP commercial projects?
     
  15. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    205
    Just yesterday Unity announced a "new" platform for writing multiplayer networking code, but get this...it's specifically for GameObject-based games and not entity-based DOTS games.

    https://blogs.unity3d.com/2020/12/0...gameobjects-multiplayer-networking-framework/
     
  16. DreamingImLatios

    DreamingImLatios

    Joined:
    Jun 3, 2017
    Posts:
    4,271
    Two years is probably too soon.
    The API changes fairly often for the core stuff but it is otherwise very usable. The higher level functionality is a lot more flaky.
    That depends on your definition of "good enough". For some people, that is now. For others, that is probably 5 or 10 years away if ever. Personally, I require some custom stuff that no engine currently provides to do what I want to do. I was originally going to switch to a custom engine, but now with DOTS the engine is opened up enough that I can implement that stuff in Unity while also being able to take advantage of Unity's implementations for the less fun things. I'm starting that now, but this is a long multi-year investment.
     
  17. apkdev

    apkdev

    Joined:
    Dec 12, 2015
    Posts:
    284
    This is Unity making sure that there's an officially-supported way of making games in GameObject land while DOTS is being developed. It's an open-source project that was already widely recognized in the community as one of the best solutions for making multiplayer games in Unity. It takes very little research on the forums to find out that DOTS netcode is undergoing active development in parallel.

    Guys, everyone gets what you mean. Your scepticism about DOTS is healthy and well-warranted. Still, you're not making anyone's day better with needless toxicity. I am positively surprised by the amount of restraint exhibited by the forum moderators, by the way.
     
    Haxel0rd likes this.
  18. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Think of it as a test: if you can't figure out how to install ECS, you'll have a hard time figuring out how to actually use it.
     
  19. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    At this point I'm guessing Unity doesn't have a particular direction beyond 'everything' and they are throwing their development behind every idea.
     
  20. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    It is opposite in fact. DOTS at its current state is developed at least since Unity 5. That before its current name was cobbled out. This is how far back it reaches, if considering Unity envirement to be able support current DOTS state. Unity editor came trough many changes since, to accommodate that.

    Dots is probably one of very few Unity features, which is constantly developed over many years since, with rather clear direction to me.

    Current DOTS state however, does require and expect to have range of technical skills.
    People proved in many cases to use it just fine. The package state of being hidden, is to make sure, that people understand, it is not fully released. But anyone with required technical skills is able to grab it.

    However, it is common knowlage regarding DOTS that it is constantly evolves and its API nonstop changes. Average Joe wouldn't like that and will complain straight away. Hence package's are accessible at this point, to people who are fully aware about DOTS state and are expecting for changes at any given time.

    Consider it for early adopters and first batch of testers.


    You shouldn't be starting project however, with expectation that dots tomorrow will be commercial ready. This is wring approach. You should instead understand and take what you got now and in worse case scenario, lock Unity version, then work toward release. Any updates are just bonus then.
     
    Last edited: Dec 5, 2020
  21. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    For anyone reading this who is just looking for some quick clear instructions. You just click the "+" button top left, click on add package from git URL. Then paste the below:
    com.unity.entities

    It seems like nothing is happening, but it is probably downloading in the background. Then suddenly it pops up the installation when you least expect :p
     
  22. toddhdavis

    toddhdavis

    Joined:
    Oct 18, 2018
    Posts:
    7
    This is still the correct answer as of editor 2021.1.7f1 (and I assume 1.9f1 as well), however, if you looking for the hybrid, that is a separate package. Here are both of them:

    com.unity.entities
    com.unity.rendering.hybrid
     
  23. 8bitgoose

    8bitgoose

    Joined:
    Dec 28, 2014
    Posts:
    448
    @toddhdavis Entities isn't supported in 2021. You gotta use 2020. I made the same mistake and was getting crashes constantly as well as weird render behaviour. I think the next package is gonna target 2021.
     
  24. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    857
    All messaging has been that the next packages will only support 2020 LTS until next year(but at this rate it could be next year before the next packages are released).
     
    Enzi likes this.
  25. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,761
  26. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    I run multiple projects on Unity 2021 and entities. Include one Upgraded from early 2020.
    Starting new project in 2021 is much easier, than upgrading.
    While upgrading to 2021 may be a pain, it is completely doable.
     
  27. 8bitgoose

    8bitgoose

    Joined:
    Dec 28, 2014
    Posts:
    448
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    So is entities something that is close to production ready, because want to make an asset around it, but from all i read above seems like is in a pre-pre-pre anything stage, and could get scraped at any moment.

    Any insight from Unity on this would be great, because seems like abandonware at this point.

    How can we choose version in this way, is there an extra identifier that can be used ?
    Thanks
     
  29. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,709
    The short story is ECS is here to stay but it going to be locked to 2020 LTS. There are a few questions regarding this move by Unity, you can tack them here.

    https://forum.unity.com/threads/notice-on-dots-compatibility-with-unity-2021-1.1091800/

    I'm not sure how far ECS is from v1.0 but it is definitely being used in production by a number of people already. As far as choosing the correct version .. I guess you have to be on 2020 LTS and from there I would grab the latest Hybrid Render and ECS packages.
     
  30. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    This is a rather strange decision :)

    I suppose there will be a version for 2021 later though as implied, so should be ok

    I just tasted a project in 2021 and seem to work as well, so the plot thickens
     
  31. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    DOTS works fine on 2021. Is just officially not fully supported, as Unity runs some major overhauls of the engine. Some changes can be experience in a 2021 various releases. But that consequences most likely, why DOTS progress is a bit sluggish recently.

    In certain cases, it may be difficult to port existing project from 2020 to 2021.
    Our team has no issue running it on 2021, while upgraded (not trivial) from 2020.
    But creating new project in 2021 and DOTS is same and straight forward.
     
  32. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    What makes you so sure about that? Since there is complete radio silence for more than half a year now I doubt that. They did not release a new Entity version AFAIK. They released no tangible infos. They answered no questions. So from the outside this certainly LOOKS dead. Not the behavior one would expect from a technology which is beeing actively worked on and what was "hyped" not so long ago. But I'm a pessimist and I have been wrong before occasionally. But I would definitely NOT make an AssetStore package for ECS.
    @vis2k author of the DotsNet package also decided to stop working on it until "Unity shows believable commitment to DOTS again". So if I were OP I would also wait a bit and watch how it develops. But currently it just looks like abandonware. Which is VERY sad.
     
  33. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    From May until now is not halve year.
    Some math doesn't add up :D
    https://forum.unity.com/threads/hybrid-renderer-0-11-0-preview-43-change-list.1116457/

    Entities package is not only package which is part of DOTS.
    Seems people think that ECS, jobs and burst are only DOTS based packages.
    There is much more to it.

    Also yesterday activity.
    https://forum.unity.com/threads/netcode-creating-a-new-default-world.993267/
    https://forum.unity.com/threads/is-multiple-physicsshape-s-supported-on-the-entity.1143557/
     
    Last edited: Jul 20, 2021
    DreamingImLatios likes this.
  34. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    I refer to the lates ECS release: DOTS Releases - Latest Release: DOTS 0.17 from January 21st.

    My comment was about the radio silence about ECS. Other parts of DOTS may still be in development. I don't follow that closely.
    I specified that I mean ECS here:
    The second link does not even contain something from Unity staff. And I remember a time when Joachim Ante himself joined many threads and gave detailed and helpfull explanations and "insights". Havent seen him in a while now here. But I don't read every thread in whole detail. There is a thread about new Input system + ECS and Rene-Damm has been pinged for updates but there is NO SINGLE REACTION.
    It's just an observation that activity has gotten very sparse. And I doubt this is a good sign.

    Don't get me wrong. I would like ECS to become "a thing". But the stance shown by the "officials" makes me doubt that it is in a good state. But I'm open to be positively surprised. I just would not bet on ECS now and I just would not start work on something utilizing it when future seems so uncertain.

    Thats the whole point. No communication means people can't judge the state and the development. They can't make proper (business) decisions and are in a complete limbo. That's what I critize here and why I want to "warn" people. Unity Tech could prove my pessimism wrong anytime. I invite them to do it. But until they do it I'm sceptical. That's all I'm saying.

    Edit: formatting was messed up. Sorry
     
  35. Krajca

    Krajca

    Joined:
    May 6, 2014
    Posts:
    347
    You are getting it wrong. That's not how investments work. You can always judge the current state of the tech and treat it "as is". In my company, we had a meeting about investing in DOTS. My superiors choose to use only Jobs with Burst as they are production-ready. And that was just because of that - "as is" we cannot invest in ECS because it doesn't meet our requirements. Additionally using ECS would lock for us officially supported Unity version to 2020LTS.
    UT doing the best job don't spill any of the information. As they joined stock market every piece of information can and probably will influence their price. It's of course only my assumptions. Even if that's not true, this is better than false promises that cannot be met.
     
    apkdev likes this.
  36. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    I'm not a "business" developer. But I guess with this mindset you could only use tech which is feature complete and "set in stone"? It's just natural that people orient on road maps, planned features, trade show "promises" and advertisment. And they build expectations on that. UT don't want us to have expectations reads for me as "you can expect nothing".

    Then joining stock market was a "bad move" for the customers. And in the end they are paying the bills. The stock brokers want their money back and plenty more. Customers are the ones which are "satisfied" with a product they pay for.

    Beeing open and communicative (and posting in the forum like Joachim did) has nothing to do with "false promises". Developers usually understand the implications and won't hold UT for missed deadlines or missing features. Especially in such an "experimental" field like integrated ECS. It is the complete change in public behavior which is so irritating. And I'm don't expect the IPO being the only reason for that. This COULD have been publicly stated as reason. But it was not as far as I'm aware.
    Also keep in mind IT means information technology. Information is an important part of it and it is withhold.

    Anyway. My ranting will certainly not change UT's postion on that matter. When they don't want to tell their users what is going on they may have their reasons. But from a users perspective (which happens to be happy using Unity in the past) this is just frustrating. But when people are asking "should I use it" I would like them to consider that it's very silent around the "product" for half a year now. And they can conclude whatever they want from this.
     
    Krajca likes this.
  37. You're mistaken. This doesn't mean you shouldn't read roadmaps and whatnot, but whatever isn't there RIGHT NOW for immediate usage, you should treat as "good to have", do not count on promises as crucial part of your product unless you want to end up crashing in the ground head first.
    This isn't exactly true. It is obviously complicated and may seem unfair, but it certainly is not true like this. Unity has many departments with many software and services. All customers together footing the bill. Also, Unity currently has annual loss, so the investors are footing the bill.
    Everything has to do with "false promises", how often can we see on the forums the "when will we have the 500 ms response time already"? This is because Joachim used that as a guideline to achieve it over time.
    That's simply not true. Developers do not understand it and they will try to hold UT. Otherwise you wouldn't have the sea of "how UT dare to release XYZ version without this basic feature (any complicated edge case insert here)".
    Also, this is mostly because developers are financially insecure and they can't really afford too many failures and they usually stretch themselves too thin and set too short deadlines.
    Oof. I think you have misplaced that information in information technology.

    With all that said, I would be more happy too if Unity would have stuck to the more informative communication.
     
    Anthiese, apkdev and Krajca like this.
  38. Demoposaurus

    Demoposaurus

    Joined:
    May 6, 2021
    Posts:
    3
    I upgraded a Unity 2018.3.8 project into Unity 2020.3.19f1 and fixed all but one error from importing com.unity.rendering.hybrid via package manager. I have a ICSharpCode.NRefactory.dll file that is located twice in my project and I see the message "Only one assembly with the same name is allowed per platform", but when i remove either or i get a wall of errors. This is due to dependencies im sure, but is there any advice for how to resolve the current error to avoid more of them?

    *Originally in 2018.3.8 it was running HDRP 4.6.0 - Preview. Now in 2020.3.8 it is running HDRP 10.6
     

    Attached Files:

    Last edited: Sep 27, 2021