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. Voting for the Unity Awards are OPEN! We’re looking to celebrate creators across games, industry, film, and many more categories. Cast your vote now for all categories
    Dismiss Notice
  3. Dismiss Notice

Does Unity use ECS and Burst internally?

Discussion in 'Burst' started by Arowx, Oct 4, 2018.

  1. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Does Unity use or plan to use ECS and Burst internally and what systems do or could benefit from using ECS within Unity?

    By Unity I imply that any of the systems within the Unity software stack from Editor, Engine, Compiler, Lighting, Physics, Sound, Prefab, File Handling, etc.
     
  2. SubPixelPerfect

    SubPixelPerfect

    Joined:
    Oct 14, 2015
    Posts:
    224
    There were some mentions that it is going to be used everywhere including editor code, as far as I remember, there is a plan to rewrite all existing systems to use ecs at some point.
    But definitely, it'll take a while
     
  3. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,559
    There are plans and some progress as far I am aware.
    All transition is slow and very carefully approached. At least since Unity version 5.4 or even earlier.
    Is just not easy task, to convert all, or even part of OOP architecture to ECS, where you have thousands of games / projects depending on current Unity system, without breaking something ;)
    But slowly is happening.

    You can notice for example, not i direct ECS implementation, but in certain system of Unity, which works differently.
    And most obvious is new Job system, which brings one step closer.
     
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    At a guess, I would say the first sign of this will come with networking.
     
  5. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    5,203
    The idea is that we will write a bunch of new sub-systems on top of ECS. Those will be developed as packages purely in C#. Those will use burst.
    (It is not realistic to upgrade existing features, without breaking everything. So we are just building new parallel features, covering the exact same use cases. So anyone can smoothly opt in at the time they feel it is ready for what they need)


    In terms of features right now we have shipping preview features for Rendering in the ECS package.
    This is under active development. (Massive scenes / Culling / LOD / HLOD / Material overrides / Streaming etc)

    A new Audio system based on doing all filters / DSP graph in burst is progressing very well but hasn't shipped publicly yet.

    Networking also has a staffed team that is making good progress on first low level Networking API's and then moving to higher level networking archetypes.

    Animation and Physics is next on our list.

    Low Level Async File reading API's supporting C# jobs have been added in 18.3 and will be used for streaming.

    All these new features are being developed with our principles we talked about at GDC in mind. Everything is also tested heavily in internal productions to prove that it works and is performant to a new standard.
     
    Last edited: Oct 5, 2018
  6. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    410
    Hi, Joachim. That's lovely news. Can you also share any rough ETA for new entity inspector and hierarchy?
     
    Cynicat likes this.
  7. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    This is my exact use case! I better get on slack!