Search Unity

Entities package comming out of preview

Discussion in 'Entity Component System' started by Ashkan_gc, Jul 4, 2019.

  1. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    We are deciding to choose between unity's ECS implementation or a third party one for a contract project. We'll need the ECS system just for the deterministic simulation of our strategy game and so far considered Entitas and Unity.Entities.
    We are not going to need fancy ECS stuff for now. However for the stuff that we use, we would like to know when it will come out of preview so we can start the project, knowing that we'll not get a on device crash due to a ECS bug which it is hard for us to fix and unity is not considering a fix for. Smaller API changes are mostly ok since it seems the core API is getting stable.
     
  2. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    5,203
    Crash bugs or anything ship stopping generally gets fixed pretty quickly. If you are choosing between Unity.Entities and other ECS solutions, I am quite certain Unity.Entities is the most robust & performant solution at this point.
     
    GilCat and eterlan like this.
  3. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    @Joachim_Ante Great then. Then we'll go with Unity ECS and will also try our best to share our experiences with the community as well.

    We just needed a green light on this and please tell the documentation guys to update the manual pages regarding the current state of ECS. One of my workmates checked that and said, unity is saying we should not use their stuff while that page is not updated since the time of two stick shooter sample.
     
  4. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,761
  5. 8bitgoose

    8bitgoose

    Joined:
    Dec 28, 2014
    Posts:
    448
    @Ashkan_gc I've been using this ECS for a little over a month and I've found zero errors and incredible performance. I think they are just giving warnings to cover their own asses for extremely crazy edge cases. ECS has been under development for over a year externally and it will probably come out of preview this year.
     
    xVergilx likes this.
  6. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    Yes sure and I'm trying to do protect ours and our customers Ass as well.
    I know it is good and cool tech but going to production for a game which will release with a movie doesn't give you much failure chances
     
  7. 8bitgoose

    8bitgoose

    Joined:
    Dec 28, 2014
    Posts:
    448
    Then I wouldn't use any entity systems unless your team is really familiar with ECS architecture. In my early learning I programmed in it (for about 2 years) and I am still having trouble getting my head around it.

    ECS should be for learning and experimenting right now not something super critical. Of course if you are solid with ECS then go ahead. OOP may be the way since it is so proven though (if not performent).
     
  8. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    It's not about performance in our case. It's about ease of making a deterministic architecture up and running instead of building one ourselves and we are trying to find out what we'll do in the coming days.

    If you are working with it for 2 years and still not feeling easy about it, try another approach. ask your questions from people who have more experience. Try to focus less on making every other thing a linear access and … and read code. read a lot of code. it it still doesn't make sense then , i'm out of ideas
     
  9. 8bitgoose

    8bitgoose

    Joined:
    Dec 28, 2014
    Posts:
    448
    @Ashkan_gc I was using Artemis which does a few things different over Unity ECS. It also was when I first started programming and then I took 3 years off to program just in Unity OOP. I got super used to OOP so getting back into ECS has been rewarding but I am still figuring out how to implement things in Unity's coding system.

    I am just saying you shouldn't use this for mission critical stuff. The ECS docs explain you shouldn't use it unless you want to experiment or need ECS for some reason (like complex simulations which it seems tailored to).
     
  10. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    I've worked on several large production games using far less stable tech. Hell most production game code is itself far less stable then ECS is. ECS I'm not concerned about as far as stability in a production environment.

    What's really a risk where Unity is concerned are things that won't show up until you are in production. like bugs in IL2CPP that can be fairly hardware dependent. ECS is mostly C# outside of jobs and NativeArray. Bugs are going to show up in development in obvious ways in my experience.
     
    Opeth001 likes this.
  11. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124