Search Unity

ECS & job system vs GameObjects; decisions

Discussion in 'Data Oriented Technology Stack' started by flatterino, Dec 20, 2018.

  1. flatterino


    Jan 22, 2018

    I'm looking for some official info, and also some advice.

    Is there an estimate on when we will get access to a version of the ECS & job system that is more "finalized" and more tightly integrated with Unity?

    I am starting to work on a new, long-term project that could really benefit from it, but I'm unsure of what to do. I don't want to design a huge system based on functionality destined to be deprecated (or superseded) by the ECS system, which basically is (well, will be) much more appropriate for me in almost every way.

    However, I find that (naturally, since it's still under development) I would have to write my own systems for things like sound, animation, or physics. But even leaving aside the huge headache and timesink that is, those systems of mine would eventually become superseded, too, by Unity official integrations that are likely more streamlined and smoother than any implementation I might come up with.

    As of today, here are some of the things I really miss:
    • Animation functionalities
    • Physics functionalities
    • Sound functionalities
    • Editor UI integration; a proper hierarchy view, for example
    I've considered the "hybrid" approach, but I find (and I could be wrong! please correct me) that it is basically like doing everything with GameObjects, with very little of the ECS advantages, and much of the coding verbosity and overhead that ECS brings in its current state.

    What do you recommend? Should I wait? If I used the hybrid approach, will eventually translating a whole project to a pure ECS architecture be a huge pain in the ass?

    Thank you all in advance.
  2. Antypodish


    Apr 29, 2014
    If you really concern about this things, like streamlined official functionality, I wouldn't be bothering with ECS.

    There are alwas better faster tools coming up every year. You can wait for them, postponing project to unknown, or simply get your hands on, and do thing what required.

    But however, you are right on feeling of missing number of features at this point. I wouldn't be expect ECS being ready for production, for end of next year, If that what you are looking for.

    On Hybrid side, is nothing stopping from combining classic OOP and Pure ECS. As many suggests, you can focus now on doin ECS based logic, while leaving animation for later. Hoping maybe features come some time.

    I for example do utilise OOP physics, while most logic is on ECS side. But, you will find out very soon, there is lot of thing we take for granted in OOP. Including tons of assets. Which simple we are lacking at the moment.

    So unless you can focus on logic, or you are ready to implement own mechanics for now, otherwise, it may become quite tough, to accomplish goal. At least at this stage.