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. Join us on Thursday, June 8, for a Q&A with Unity's Content Pipeline group here on the forum, and on the Unity Discord, and discuss topics around Content Build, Import Workflows, Asset Database, and Addressables!
    Dismiss Notice

Official DOTS development status and next milestones – September 2022

Discussion in 'Entity Component System' started by LaurentGibert, Sep 26, 2022.

Thread Status:
Not open for further replies.
  1. LaurentGibert


    Unity Technologies

    Jan 23, 2020
    Hi everyone, just a quick note about the many events coming up next week.

    Unite 2022 is back on November 1st! Register for free to connect with your fellow game developers and others in the Unity community for a jam-packed day of inspiration and learning.

    In particular, I am honored to be part of the global keynote on Nov 1st, 9am EDT, to officialize the next step for DOTS in Unity Engine, and empower you to make more ambitious games with Unity!

    Check out the great lineup of speakers and sessions:

    Let me promote a few sessions related to DOTS on November 1st (registration required):
    • I will be sharing more details about DOTS and Multiplayer in Unity as part of the general Unity's 2023 roadmap session, 10:40am EDT.
    • Our friends V-Rising from Stunlock Studios, will be talking about their use of DOTS, 11:50am EDT
    • SuperGaming will be talking about their use of DOTS and GameObjects for their game Indus Battle Royale, 2:10pm EDT.
    Finally, did you know Unite 2022 also happens in person in Austin, Brighton, Copenhagen, Montreal, or San Francisco? I'll be personally available in Montreal to chat about DOTS, Multiplayer, and how Unity enables you to build more ambitious games! Here is the complete session agenda by location!

    Cheers and talk to you soon I hope,

  2. mmn_for


    Oct 30, 2022
    I am expecting to implement of the ECS-based Animations and Blend Shapes.
    It's most important feature.
    I think, DOTS with Playables (or Animator) performance is too bad.
    I can't wait for the day when we can make basic-character system using only DOTS!
  3. Kmsxkuse


    Feb 15, 2019
    I just want the baking system to work. 'Cause right now it's basically unusable. Requiring full editor restarts after every minor change.
    jennal likes this.
  4. Kamyker


    May 14, 2013
    Nice to see megacity getting revived. Could DOTS fps sample also get updated?
    PutridEx and GameFinder like this.
  5. thelebaron


    Jun 2, 2013
    my assumption is fps sample cant really be released as an updated sample until animation is ready to be previewed again
  6. Ryetoast


    Mar 8, 2015
    This statement feels deliberately misleading. The changes to for each only simplifies if you only want to run on the main thread. The loss of Entities.ForEach that generates a job is a huge setback in terms of how much boilerplate code we have to write now to execute jobified logic.
  7. CaseyHofland


    Mar 18, 2016
    I was thinking “you know, the only reason I don’t often use jobs is how awkwardly they integrate with OOP or CBP architecture”. When you’re writing components, you’re really focusing on “how should this thing work?” ECS has a baking step for that, where you can take your components and transform them into data altogether, and the best part is that you can write these bakers without ever touching the original script.

    This might be the wrong forum for it, but I was thinking, why should this baking step be exclusive to ECS? Couldn’t native unity profit from it too? We could use it e.g. to convert our own components into jobified code that DOES still respect regular unity go-structure. ECS is great but I’ve always felt there’s no bridge between the one and the other, and it has always kept me from exploring this great performance from the job system and burst further because it doesn’t line up with standard CBP practices. The ECS baking step integrated in regular Unity seems like a perfect way to bridge that gap.
    apkdev and MadeFromPolygons like this.
  8. apkdev


    Dec 12, 2015
    I agree that the scene conversion/baking technique is fundamentally very useful. Pre-ECS I started to use the
    which lets you implement similar nondestructive functional-style scene transformations that are executed during build (and right when the scene is loaded if the editor is in play mode). Stuff you can do:
    • Modify, update, replace, combine components
    • Optimize hierarchy, remove unused objects and components
    • Validate the scene and warn if anything's broken
    • Anything else you come up with, really - sky is the limit! (But don't go overboard with slow code, or your editor play mode load times will suffer. Your scenes are entirely pre-optimized at build time, though!)
    I usually stick to simple functions that iterate over scene objects, but you could probably even write some sort of a pipeline similar to ECS baking.

    What I like about it is how mercilessly reliable this attribute is - you can always safely assume that the code was executed exactly once sometime after the scene was last edited, and there's no manual steps for you to forget. Working like this for a while has convinced me that conversion/baking in ECS is a pretty good idea. I cannot imagine living without some sort of a scene baking pipeline, with or without ECS!
    Prodigga, mariandev, Luxxuor and 4 others like this.
  9. rayden2909


    Feb 2, 2014
    What about 2D package support? At least remove the compilation errors that occur when you add the ecs package to a 2d project template... Or specifically mention 2D is not supported,I spent 4 hours trying to make it work just because I assumed it was.
  10. Kmsxkuse


    Feb 15, 2019
    The only package not yet compatible with DOTS is the 2D package is animation. Remove that specific package and you're good to go.

    Here's the entirety of my minimal package list required for Entities & Physics & Netcode + 2D Sprites & 2D Tilemap:
    Code (CSharp):
    1. {
    2.   "dependencies": {
    3.     "com.unity.2d.pixel-perfect": "5.0.3",
    4.     "com.unity.2d.sprite": "1.0.0",
    5.     "com.unity.2d.spriteshape": "9.0.1",
    6.     "com.unity.2d.tilemap": "1.0.0",
    7.     "com.unity.burst": "1.8.1",
    8.     "com.unity.entities": "1.0.0-exp.12",
    9.     "com.unity.ide.rider": "3.0.16",
    10.     "com.unity.inputsystem": "1.4.4",
    11.     "com.unity.netcode": "1.0.0-exp.13",
    12.     "com.unity.physics": "1.0.0-exp.12",
    13.     "com.unity.render-pipelines.universal": "14.0.3",
    14.     "com.unity.test-framework": "1.1.33",
    15.     "": "1.0.0",
    16.     "com.unity.modules.imageconversion": "1.0.0",
    17.     "com.unity.modules.particlesystem": "1.0.0",
    18.     "com.unity.modules.physics": "1.0.0",
    19.     "com.unity.modules.physics2d": "1.0.0",
    20.     "com.unity.modules.tilemap": "1.0.0"
    21.   }
    22. }
    That being said, 2D DOTS is not and will not be supported by Unity for the near future (think 2+ years). Last news coming out of Tiny is that the entire team was dissolved and scattered in the last reorganization. If you want to do anything fancy with 2D in a DOTS environment, you will need to code it yourself.
  11. IsaacsUnity


    Unity Technologies

    Mar 1, 2022
    Hello everyone, the pre-release of ECS for Unity is now available with Unity 2022.2 Tech Stream. More details over here!
    Deleted User, mariandev and Kamyker like this.
Thread Status:
Not open for further replies.