Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Resolved How rigid is the entities architecture going forward?

Discussion in 'DOTS Dev Blitz Day 2022 - Q&A' started by thelebaron, Dec 8, 2022.

  1. thelebaron


    Jun 2, 2013
    We've seen some big changes from the early days of using [Inject] with component groups and proxy components, IJFE to conversion systems, and now Bakers, aspects and all sorts of other features. Each time I think its been a major step forward with much needed and appreciated improvements along the way but 1.0 represents a significant leap where I'm wondering if this journey of big improvement leaps is over.
    I recognize things cant stay in experimental preview forever & now is a point where the api needs to be stable for both internal and external productions. I am also of the opinion that things right now are still not as easy to pickup as gameobjects are.

    So how rigid is the entities architecture going forward? ECS and gamedev are not necessarily new things but the combination that Unity is bringing along with burst and multithreading, to an editor that is so widely used in so many different projects is definitely uncharted territory.
    If for example in DOTS 2.0 you guys figured out some amazing ways to handle hybrid gameobjects(or picture some scenario that currently doesnt mesh too well) but it required the same magnitude of many breaking changes as 0.17 -> 1.0 - would that be considered viable or blasphemy(given we still have so many parts of the editor dedicated to not breaking backward compatibility)?
    Jonas_DM_ and pm007 like this.
  2. jivalenzuela


    Unity Technologies

    Dec 4, 2019
    The nature of the work in the Unity ECS (loosely, those things in the Entities 1.0 release) has changed over the years.

    In the release era (1.0+), the packages in Entities will be verified packages. We're going to be much more circumspect about adding, deprecating, removing functionality. In general you can expect us to respect SemVer.

    A large part of the volatility between the 0.5x and 1.0 release of Entities packages is that in addition to solidifying the features we were confident in (eg, the core entity data store), we accelerated efforts to deprecate or remove features that we knew we could not support long-term, or that we strongly suspected were not the right direction (ex runtime conversion).

    Now that we have a solid foundation that we're confident in, an important theme for the team is to better understand how creators use Entities 1.0 and be attentive to supporting them in the upcoming year.