Search Unity

Official DOTS: get in touch with the teams behind it!

Discussion in 'Entity Component System' started by LaurentGibert, May 9, 2023.

  1. LaurentGibert

    LaurentGibert

    Administrator

    Joined:
    Jan 23, 2020
    Posts:
    173
    Hi everyone,

    My name is Laurent Gibert, Director of Product Management in charge of DOTS and Multiplayer for the Unity engine. I wanted to address the concerns some of our users have that the work we have accomplished so far with DOTS could be impacted by recent events at Unity.

    I’d like to confirm the same teams are still focused on shipping the final version of ECS, with its netcode, graphics, and physics packages, for Unity 2022 LTS. I would like to highlight the amazing contributions of the people who started DOTS originally years ago, some of them are still in our teams, and some have moved on, but the technology is still alive and well! In fact, we are seeing more and more usage and questions, more demand for training, and more projects exploring the possibilities.

    We have seen dozens of games already shipping using ECS for Unity on most platforms Unity engine supports and we are excited at the prospect to see more and more ambitious games made with Unity landing on the market, oftentimes thanks to DOTS!

    Here is one of the last examples we showcased from Sunblink Entertainment - HEROish (March 2023): CTO Justin Larrabee exposes how their clever use of ECS helped them achieve performance, reduce production risks, and empower designers.

    We've invited the team working on DOTS to come say hi in this thread. You'll recognize some of us who are very active on this forum or on our discord server, and some new faces who are usually more shy. Please don't hesitate to say hello!

    Laurent
     
  2. jivalenzuela

    jivalenzuela

    Unity Technologies

    Joined:
    Dec 4, 2019
    Posts:
    76
    Hi folks. I'm Joe Valenzuela, Director on DOTS. I've been running the DOTS engineering team for the last year or so and I wanted to introduce myself.

    My background is in the video game industry, where I made games for about 20 years. My first industry job was working at Loki Entertainment, where I helped port Windows games to GNU/Linux. I went from there to Treyarch (mostly before they really made Call of Duty) and then Insomniac (in the PS3 and PS4 era). I've been at Unity for about 3½ years.

    I've always been more of an engine programmer than a gameplay programmer - I love a juicy technical puzzle. I'm also a Data Oriented Design (DOD) true believer. That's why I jumped at the chance to join the DOTS team at Unity - using the principles of DOD to allow the thousands of people using Unity to create the games of their dreams? It's very exciting.

    The team has been hard at work on our upcoming ECS release for a while now. I'm very much looking forward to seeing it in the hands of all y'all.
     
    Endlesser, AndyKun, Thygrrr and 63 others like this.
  3. SeanParkinson

    SeanParkinson

    Unity Technologies

    Joined:
    Aug 25, 2015
    Posts:
    17
    Hello!

    Seán from Physics here. I've been at unity almost 8 years now and have been leading the physics team for nearly 3 years.

    I have 24 years experience in the games industry and before Unity I worked on Formula 1 99-04, Destruction Derby Raw, Lego Island 2, Peter Pan 2 PS2, Stolen, Battlefield, Supercars, Ride to Hell, Harry Potter and the Deathly Hallows, SBK, WRC, Mud, Moto GP, Diggs Nightcrawler, Angry Birds, Crackdown 3.

    I love turning math into code that can then provide users with the tech they need to create advanced physics simulations for fun and profit. As a former quantum mechanic, as far as I am concerned the sky is not the limit when it comes to physics programming. DOTS will enable us to push that limit.

    "Above us, only sky" - John Lennon, Imagine.
     
  4. jmankin

    jmankin

    Unity Technologies

    Joined:
    May 9, 2023
    Posts:
    1
    Hey Folks! I'm Jonathan Mankin, Quality Manager on DOTS. I've been managing the Quality process for DOTS for the past couple of years.

    Like most folks on DOTS I got my start working on video games. My first two jobs were at Squaresoft and Blizzard Entertainment. Some of the games I worked on: Chocobo's Mysterious Dungeon, Final Fantasy VIII, Final Fantasy IX, Chrono Cross, Warcraft III, Diablo II, World of Warcaft, Hearthstone and Diablo III.

    As Joe said, we are working very hard to get our upcoming ECS packages into your hands. We are super excited when we see what you do with these tools!
     
  5. topher_r

    topher_r

    Unity Technologies

    Joined:
    Jun 14, 2019
    Posts:
    36
    Hey all!

    I'm Christopher Redden, a Staff Engineer working as part of the technical leadership team in DOTS. I've been working in DOTS for over 3 years, and it is a genuinely real passion project for me :)

    I've got 15 years experience and come from the UK games industry originally. I won't list all the games, because it just wouldn't make me look as cool as some of my colleagues above :D I originally went into the industry as a junior desperate to be a gameplay programmer, but very quickly fell into working on the tech side. In the end, I found it to be incredibly satisfying to build frameworks and utilities to enable gameplay programmers, designers and artists to express their creative vision. This led me to work on in-house engines, and later here at Unity!

    I love to hack at home, and personally use Linux in my day to day (not Arch, btw). I constantly bounce between weird useless stuff like writing emulators nobody will use and a variety of hobby game prototypes I'll totally one day finish...maybe.

    For me, Entities 1.0 is just the start, and I very much look forward to where the we and the community will be going with Entities in the future.
     
  6. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Hi guys, this is actually quite pleasant to see Unity DOTS devs here.
    Specially after long silence periods, which indeed have spawned various concerns about future of DOTS.
    While I see shipping toward DOTS 1.0 and general progress on DOTS, us devs would like to make sure, that path for the DOTS future is bright and not fogged into abys with various recent events.

    Many thanks for this initiative, to say hello from DOTS team.
    It is amazing to see such experience on DOTS team, with many well known titles experience in the backyard.
     
  7. Fancisco_Greco

    Fancisco_Greco

    Joined:
    Jan 26, 2021
    Posts:
    20
    Not sure if you can answer this but was Mike Acton leaving Unity part of the recent layoffs? Seems pretty bizarre if that is the case.
     
    Skjalg likes this.
  8. LaurentGibert

    LaurentGibert

    Administrator

    Joined:
    Jan 23, 2020
    Posts:
    173
    Hey, thanks for the question @Fancisco_Greco. We cannot comment on any individual's situation.

    However, I can tell you that after having immensely and positively impacted our DOTS efforts, Mike moved on to other projects within Unity about 10 months ago. @jivalenzuela has been leading our DOTS engineering efforts since then with great success!
     
  9. Fancisco_Greco

    Fancisco_Greco

    Joined:
    Jan 26, 2021
    Posts:
    20
    I see, we'll be seeing these other projects in the future? :O
     
  10. calabi

    calabi

    Joined:
    Oct 29, 2009
    Posts:
    232
    I just want to say I'm glad to here this and thanks for all the hard work your DOT's team has done. I'm really glad because DOTS is awesome, after using it so much I could not imagine using another engine without it. It allows me being a very average to sub par programmer to make things much faster, and then for that code to run insanely fast with burst and even be multithreaded with no race conditions that I have to worry about. Its ridiculous how good it is, just gotta convince more people to use it, because they really should.
     
  11. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,268
    Thanks for thinking to offer the community some reassurance! DOTS feels like a forward-thinking labor of love during a time when shortsighted business decisions threaten the livelihoods of so many. I have become a convert after building a small game in ECS. Can you share what percentage of the DOTS workforce was affected by downsizing?
     
  12. koonm

    koonm

    Joined:
    Jan 5, 2016
    Posts:
    12
    • These are reassuring news, looking forward to the launch of the official version!
      by the way, is there plan to implement dynamic loading baker? Roguelike be in need of that。
     
    jivalenzuela likes this.
  13. echu33

    echu33

    Joined:
    Oct 30, 2020
    Posts:
    62
    Hey guys,
    Just want to say thank you for your hard work and really appriciate how DOTS team approach the community.



    btw I like FFIX/Chrono Cross/WC3 too. hahahaha
     
  14. sexysoup

    sexysoup

    Joined:
    Apr 22, 2014
    Posts:
    17
    Polish up the ecosystem around DOTS please.
    Unity really doesn't need all those fancy features to compete with UE.
    DOTS is enough to put any non-DOD engines in shame.
    If you know it, you know how good it is. Don't argue with the uninitiated.
    KEEP UP THE GOOD WORK!
     
    daniel-holz, jmankin and jivalenzuela like this.
  15. jivalenzuela

    jivalenzuela

    Unity Technologies

    Joined:
    Dec 4, 2019
    Posts:
    76
    is there plan to implement dynamic loading baker? Roguelike be in need of that。​

    I'm afraid not - runtime conversion is largely incompatible with the data pipeline that we're trying to build that has a clean separation between editor and runtime features. If you have a use-case you feel isn't possible otherwise I'd love to know more.

    The only comment I'll make about DOTS and the recent news is that DOTS has been, and is, a high priority for Unity and we're adequately resourced to hit our current plans.
     
  16. jivalenzuela

    jivalenzuela

    Unity Technologies

    Joined:
    Dec 4, 2019
    Posts:
    76
    DOTS is enough to put any non-DOD engines in shame.​

    I certainly think so :) Although really the proof of this pudding is going to be the ambitious games people make with it.
     
  17. Laicasaane

    Laicasaane

    Joined:
    Apr 15, 2015
    Posts:
    361
    Thank you for bringing DOTS into existence. DOTS might be challenging to me, but it's fun and satisfying compared to the old OOP workflow. Looking forward to the 1.0 final and beyond.
     
  18. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Any plan to resume and invest resources to project tiny development again? I would like to see it happen very soon. Currently I have project needs to target both super lightweight web mobile and desktop but I forced to use another engine to target super lightweight web mobile which is different workflow and different programming language which is really annoying and time consuming. WebGL platform is not the option of me since I need to get super small game build size and I believe currently lots of mobile phones still can't support WebGL platform properly yet.
     
    Deleted User likes this.
  19. vectorized-runner

    vectorized-runner

    Joined:
    Jan 22, 2018
    Posts:
    398
    Hi, DOTS changed how I think about writing game code about 3 years ago, still going strong!

    Do you plan to release new tech deep dive talks? Most of the Jobs/Burst/ECS talks are from 2019-2020 date (Mike Acton, Joachim Ante etc.). I wish we had more talks about the recent features as I love seeing the design decisions and reasoning behind them.

    Is Joachim around here? I haven't seen him make on any Unity talks for a while. The CEO did the keynote speech too.
     
  20. koonm

    koonm

    Joined:
    Jan 5, 2016
    Posts:
    12
    i don't need runtime conversion, just need a way to load baked result in editor.
    is there way load serialize baked prefab?
    subscene only have one prefab seem a way to do that but stupid!
     
    andrew-lukasik likes this.
  21. timjohansson

    timjohansson

    Unity Technologies

    Joined:
    Jul 13, 2016
    Posts:
    473
    Hi,

    I'm Tim and I am also part of the engineering leadership for DOTS.

    I've been at Unity for about 7 years and working on DOTS for almost all of that time, since back when we were just a couple of developers building the C# job system and Unity Collections.
    I've had my hands in many of the core parts and technical decisions of DOTS, such as rewriting entities to be archetype based, exposing the job system to C#, prototyping of the compiler which later became Burst, and the workflows of using GameObjects and conversion to author content, just to mention a few.

    For the last few years I've been leading the effort to make sure multiplayer is a core feature of DOTS, which resulted in Netcode for Entities and also multiple architectural changes to the core of entities to better support multiplayer.

    Before joining Unity I was working on Battlefield - primarily focusing on performance / multi-threading, netcode and some rendering - and the Opera web browser where I led one of the core teams making the Presto browser engine.
     
  22. topher_r

    topher_r

    Unity Technologies

    Joined:
    Jun 14, 2019
    Posts:
    36
    Yes, you can do this. Take a look at this method https://docs.unity3d.com/Packages/c....LoadPrefabAsync.html?q=EntityPrefabReference and EntityPrefabReference. Further docs and samples for this specifically are coming in the final 1.0 release.
     
    BenjiM_Unity, Krajca, sbat and 6 others like this.
  23. davenirline

    davenirline

    Joined:
    Jul 7, 2010
    Posts:
    982
    I would like to thank you for your blood, sweat, and effort because I really love DOTS. I've been here since 2018, the days of [Inject]. I really think this is the future of making ambitious games.

    Having said that, I would like to ask if there are plans for an official DOTS animation package? Integrating an existing asset would be fine like what you did with Rival. I just think that using such package would inspire more confidence as it signals that it will be maintained by Unity.
     
  24. davenirline

    davenirline

    Joined:
    Jul 7, 2010
    Posts:
    982
  25. topher_r

    topher_r

    Unity Technologies

    Joined:
    Jun 14, 2019
    Posts:
    36
    https://docs.unity3d.com/Packages/c...yPrefabReference.html?q=EntityPrefabReference

    If you look at the constructors, it can be constructed with a GameObject (Prefab) or GUID of the Prefab asset. In the final 1.0 release it also has proper inspector support, so that you could have an EntityPrefabReference field on your authoring object and just drag a Prefab onto it in the Inspector.
     
  26. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Oh nice. How about CCD support to build content, update new content and upload content to CCD server so the game runtime build can dynamically download entity and game object from CCD server?
     
  27. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    officialfonee, lclemens and PolarTron like this.
  28. LaurentGibert

    LaurentGibert

    Administrator

    Joined:
    Jan 23, 2020
    Posts:
    173
    This is still something we will want to get back to, but not before we have progressed enough with filling the gap of a few missing ECS-based systems such as animation, environment, and navigation... Tiny wouldn't be as useful without decent coverage of the various game systems you'll need.

    This one has been in the works for a while and is approaching completion. We can't tell you too much about it just yet, but I would expect this to be our next major deliverable. Stay tuned!
     
  29. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    I see. Btw I would like to request to accelerate for dots srp as there's still huge performance bottleneck at current srp. I can't see any possible solution to boost srp performance to next level without dots. The current entities graphics still not enough performance. I have case IN-35920 to show the performance issue.
     
    Sylmerria likes this.
  30. PolarTron

    PolarTron

    Joined:
    Jun 21, 2013
    Posts:
    94
    The DOTS team is the only Unity team I trust to be able to solve problems while also being genuinely interested in solving it. It's like "Finally we're able to use what we know". The burst compiler is insane!!
    If anything I would encourage unionizing. The combined knowledge and experience of the people working on this must be protected.

    Now for the big question:
    New editor built on top of DOTS?
     
  31. JooleanLogic

    JooleanLogic

    Joined:
    Mar 1, 2018
    Posts:
    447
    It's really nice to hear from the devs like this mostly to just say thanks for sticking it out for so long and making all the hard and necessary changes to get to ECS 1.0. I see it's mostly directors and leaders above but kudos and thanks to any unsung devs who've been doing hard yakka on the ecs architecture and implementation over the years.
    It's easy to take for granted just how incredible is the current product we have today compared to when it started. It's an awful lot of work gone into it.
    I think it's future is inevitable cos no one's going back to OO after using ECS for long enough and I expect that uptake is going to be exponential. I can't see anyone is going to be making GameObject games in five years.
     
    lclemens, IllTemperedTunas and calabi like this.
  32. philsa-unity

    philsa-unity

    Unity Technologies

    Joined:
    Aug 23, 2022
    Posts:
    115
    Hey! I'm Philippe St-Amand. Before I joined the DOTS team last year, I was a Unity user for 14 years (8 of these professionally), and an Asset Store publisher.

    I first started playing around with DOTS back in 2018, and I knew right then and there that this was the tech I had always wanted. Since then, I've been busy creating DOTS-powered tools in hopes of making it easier and quicker to build games with this tech, starting with a character controller.

    I make it my mission to use my previous experience as a user to provide feedback on common pain points internally, and bring attention to other user feedback as well
     
    Last edited: May 10, 2023
    filod, JohngUK, Thygrrr and 56 others like this.
  33. echu33

    echu33

    Joined:
    Oct 30, 2020
    Posts:
    62
    I'd like to say thanks for making both character controller(kinematic and rival) for free. Your works makes develop a platform game much easier than ever.

    For non-DOTS user watching this thread : Philippe's Kinematic Character Controller is one of the best asset for production usage (and its free now!). Please take a look if you like coding gamplay code and want to implement a very solid character controller solution for your project.
     
    Last edited: May 10, 2023
  34. UnityMrAndyPuppy

    UnityMrAndyPuppy

    Unity Technologies

    Joined:
    Mar 10, 2021
    Posts:
    10
    Hi all,

    Andrew Parsons here, I look after the product marketing side of DOTS and ECS. I was previously a developer for 15 years before switching over to roles that are more focused on empowering and enabling other developers to achieve more. I work closely on a daily basis with Laurent, Joe, and others to ensure that the great message around DOTS and ECS is communicated clearly so you all can see how it could help you in your projects.

    Laurent has done a great job of highlighting both our technical direction (and I promise - Unity 2022 LTS is literally just around the corner!) and an awesome sampling of some studios already using DOTS to great success.

    I've just posted my latest top ten DOTS links on Twitter (https://twitter.com/MrAndyPuppy/status/1656329064242884610), but I'll include it here also.
    1. "Harnessing the Power of ECS" - GDC Dev Summit talk.
    2. V Rising Creator Spotlight - Twitch livestream recording with V Rising creators, Stunlock Studios.
    3. ECS Full Project Tutorial - Turbo Makes Games -
      (and pretty much anything Johnny does!)
    4. Official ECS Forums - Get the latest updates directly from the DOTS team (yes, this forum - including here for completeness) https://forum.unity.com/categories/ecs-for-unity.823/
    5. Unity Roadmap for 2023 - GDC Dev Summit talk. Includes an overview of DOTS developments.
    6. Expanded Scale blog post - Games Focus series. A little older than some on this list, but still useful to show how integral DOTS is to our development path. https://blog.unity.com/engine-platform/games-focus-expanded-scale-for-ambitious-games
    7. DOTS Best Practices - Unity Learn. Learn from real world creators' experiences. https://learn.unity.com/course/dots-best-practices
    8. Official Unity Discord - Main server link https://discord.gg/unity. DOTS Forum channel https://discord.com/channels/489222168727519232/1062393052863414313. DOTS Dev Blitz Day archive https://discord.com/channels/489222168727519232/1046863767100727376
    9. Official Unity Multiplayer Discord - Main server link https://discord.gg/unity-multiplayer-network. Check out the Netcode for Entities category.
    10. DOTS and ECS web pages - high level introductions to what this is all about. https://unity.com/dots + https://unity.com/ecs

    Feel free to let me and the rest of the team know what you'd like to see and how we can help you leverage ECS in your latest game project.
     
  35. UnityMrAndyPuppy

    UnityMrAndyPuppy

    Unity Technologies

    Joined:
    Mar 10, 2021
    Posts:
    10
    As you've noticed, until recently we haven't been talking broadly about DOTS, including the technical side of things because we wanted to make sure we had a great version of what DOTS is intended to be before doing so.

    In the last twelve months, we have intentionally been highlighting different creators and how they're leveraging DOTS in their shipped (and soon-to-be shipped) titles. We had creators on stage with us at GDC last year and this year diving into some of those technical details.

    We've also been working closely with some YouTube creators such as Turbo Makes Games, Code Monkey, and Jason Weimann so they have the latest up to date info on DOTS and ECS, including directly meeting with the DOTS team. This has helped create more technical content for you all. And we published the DOTS Best Practices "course" on Unity Learn which is a collation of lessons learned from our engineers working with studios implementing DOTS.

    However, always willing to look at more technical content, and we've been having ongoing discussions internally about what will have the best and longest lasting impact.
     
  36. Amplify_David

    Amplify_David

    Joined:
    Mar 29, 2023
    Posts:
    193
    Hello Dots team
    just a heads up they added DOTS.hlsl into URP 15.0.4 and higher

    pipelines.universal@xxxx/ShaderLibrary/xxxx
    looks like it was also backported into 14.0.7 (2022.2.15/2022.2.16/2022.2.17/2022.02.18)

    api 14.0.7 started in 2022.2.14 and may have been missed?
     
  37. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Will it have big breaking changes from 1.0.0-pre.65 to final 1.0?
     
  38. DaxodeUnity

    DaxodeUnity

    Unity Technologies

    Joined:
    Aug 5, 2021
    Posts:
    27
    Ayo, Daniel, Software Engineer for Entities here o/

    I grew up dreaming about working in the game industry, started programming at age 8. Hooked ever since, tinkering with every piece of tech imaginable. My curiosity is always on, always 'What happens if I poke it there'. I've been a user of Unity since 2012, tinkering away. I grew up on games, my favorites were the Sly games by Sucker Punch, and the Ratchet&Clank games by Insomniac Games. So you could imagine my excitement when I learned that not only did presentations exist by someone from Insomniac. But it also perfectly described some of my frustrations in programming. The infamous 'CppCon 2014: Mike Acton "Data-Oriented Design and C++"'. You can most definitely say that DOD runs in my veins! On that subject, something also running in my veins is JAM!... ... no, not the gooey kind. I love game jams, and making games is my daily hobby. So, let's just say, I'm highly motivated to improve the product :D

    As for what I do. You might know me for such things as IJobEntity, SystemAPI, Systems, the new Analyzers, and more! I also love removing code, as an example, all but one deprecation in the 1.0.0-pre.15 changelog entry were me, so if we deleted something you like, feel free to yell at me! Recently I shifted my focus to Iteration time too, as it's a big player for me - So, if you have a project with iteration time problems, reach out at daniel.andersen@unity3d.com. I would love to do some profiling and discuss your pain points :3

    PS: feel free to tag me on the Unity Discord @Dani anytime you run into Entities issues. Just make sure you've looked a little into it first, and to Include how you got there, the more context, the better a solution possible, see https://xyproblem.info/. Though, don't be afraid to ask without, last thing we want is you getting stuck :3
     
    Last edited: May 17, 2023
  39. jivalenzuela

    jivalenzuela

    Unity Technologies

    Joined:
    Dec 4, 2019
    Posts:
    76
    Will it have big breaking changes from 1.0.0-pre.65 to final 1.0?​

    No. We've improved support so that Rider can flag some dodgy constructions as errors, and have renamed a couple things, but nothing big.
     
    BenjiM_Unity, jmankin, sbat and 10 others like this.
  40. Fabrice_Lete

    Fabrice_Lete

    Unity Technologies

    Joined:
    May 5, 2018
    Posts:
    55
    Hi everyone, Fabrice here. I’ve been on the DOTS team for over 5 years, working on scene streaming and conversion back when we made Megacity, and generally touching a little bit of everything since then. Before that I was working at Havok, with whom we are partnering for Unity Physics. And before that I was working at various video game studios, and I’ve also been teaching video games programming for a few years. Some of my former students are now working with studios shipping games with DOTS, and some became colleagues at Unity. Small world.
     
  41. daniel-holz

    daniel-holz

    Unity Technologies

    Joined:
    Sep 17, 2021
    Posts:
    278
    Hi everyone!

    I'm Daniel from the physics team. I've been working in real-time physics all my professional life and joined the team as senior physics developer about 6 months ago. I studied Computer Science with specialization in Virtual Reality and Computer Graphics before starting to work on a proprietary rigid body dynamics engine used for real-time virtual reality training simulators in 2008 in beautiful Montreal. As part of that engagement, I developed a novel soil simulation method for excavator simulators which was lots of fun and allowed me to collaborate with various local universities here in the city.

    Now, I'm focusing full-time on getting you the physics tech you all need to make amazing games!
     
  42. schembri-unity

    schembri-unity

    Unity Technologies

    Joined:
    Jul 8, 2020
    Posts:
    14
    Hello! I’m Amanda and I’m a senior dev on the DOTS Physics team. I’ve been at Unity for about 3 years now, and have been on the Physics team for about 2.5 years of that. Unlike many of my teammates, I have not worked in games prior to my joining Unity. I went to school for physics and earned a Masters degree in observational astrophysics (focusing on galaxy formation and dynamics, if you are curious). I took a bit of a long, wandering path to figure out what to do with a physics degree, and eventually ended up here!

    I think physics is pretty awesome and am always curious to figure out how things move, collide and interact. Thus far, I haven’t been very active on this forum, but be assured that I’m busy improving Unity Physics!
     
  43. barbara-wang

    barbara-wang

    Unity Technologies

    Joined:
    Jul 17, 2020
    Posts:
    5
    Greetings everyone,

    I'm Barbara, a member of the DOTS Kernel team at Unity. It has been a great journey of 3 years since I joined Unity, and I have been a part of the DOTS team since day one. Interestingly, Unity is my first experience in the game industry, and I am thoroughly enjoying it!

    I have always been a curious individual, which led me to pursue three master's degrees in mechanical engineering, robotics, and computer science. Prior to Unity, I worked as a Staff Software Engineer at Qualcomm for over a decade, where I was responsible for designing, developing, and integrating embedded software and firmware for various Qualcomm projects. Additionally, I worked as a Principal Engineer at Microchip Technology, where I focused on planning, developing, coding, and executing pre-silicon and post-silicon validations. I am passionate about ensuring the performance and reliability of software systems.

    Currently, my focus is on DOTS memory management. You may have already used the World Update Allocator, which happens to be my work!
     
    Samsle, psuong, alexk-unity and 33 others like this.
  44. alexk-unity

    alexk-unity

    Unity Technologies

    Joined:
    Mar 28, 2017
    Posts:
    4
    Hi Everybody, I'm Alex. I've been working in the game industry for... *counts* 20 years now? Everything from AAA console and PC games, solo indie dev, to mobile and WebGL, and now 6 years and counting at Unity. I've been a huge fan of Data Oriented Design since before my time at Unity, and have been working within the DOTS team for about 2 years now improving ECS API usability and performance (EntityQueryBuilder, for example) and improving the native allocation leak detection (available in the 1.0 release).
     
    Samsle, Krajca, jmankin and 32 others like this.
  45. koonm

    koonm

    Joined:
    Jan 5, 2016
    Posts:
    12
    davenirline likes this.
  46. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    Holy S***, this thread is like an oasis in the desert. Nice to see both new and familiar faces in the forum again.

    As someone who isn't a hot shot coder, a lot of these concepts are beyond me, I've been really curious about DOTS and ECS, partly excited, and partly wary of how it affects the future development of the Unity editor.

    I've got a few questions regarding how this all affects future improvement of Unity, here's the wary bit (I'm not expecting answers too all these, it's more a general question about how you guys plan to move forward without spinning wheels in mud):

    It can be hard enough just trying to deal with legacy setups on a project, let alone an engine that affects thousands. How are you guys attacking systems that haven't seen love in ages like Animation/Mechanim that are clunky and imperfect, but can't be revised because too many projects are ingrained to current setups? Do you plan to develop a completely new system that not only takes advantage of this new, enhanced code, but also user feedback from users of the Mechanim system? Are you guys confident that you understand the best practices of the old systems and are carrying those hard earned lessons into the future?

    How will you develop these core tools so that they aren't locked in at an imperfect state like we've seen with the terrain system and input systems? Do all these new layers of code for ECS and DOTS make it even harder to implement new or revise systems within Unity? Is something like deformable terrain much more feasible with this new processing power? Would new features like terrain deformation allowed by DOTS be added on top of the current system? Are you guys looking to revamp tools to be expandable? Or are you more keen on making sure you just get it right the first time?

    How do you weigh which systems benefit greatly from DOTS/ECS, or is this a blanket standard for all assets within Unity going forward? Do you guys plan to have "ECS/ DOTS" strike teams who will go into various areas of the engine and improve them to utilize these enhancements, or must systems need to be built from the ground up with them in mind so that all developers will need to adopt these new practices before the engine expands?

    The Optimistic bit:
    What sorts of bottlenecks are now open that allow for huge improvements to Unity? What were the big systems or bells and whistles you guys have always wanted to implement into a game Engine that you now view as viable that you're excited to implement? What ingrained improvements to Unity are users going to be able to enjoy throughout the engine without being a hot shot coder? Will DOTS and ECS be constantly evolving organisms that become easier and better to work with?

    Most of us Unity users understand DOTS and ECS as these vague notions that if utilized, you can make some bits of code run MUCH faster. But for us, Unity has never been about speed or making gargantuan projects, rather ease of use and superior tools. Will ECS and DOTS translate into these better tools and better usability? Will the added processes in developing these tools make improving the engine clunkier or more streamlined?

    Any insights are appreciated, hope I phrased the concerns in a way that make sense, a lot of us are really wanting to know if these core issues that have flatlined improvements to the engine as of late have been simplified or compounded by this new code stuff and would really like to know what the fruits will be to all this toil.

    Thanks again for all these resources and insights, things are looking a lot more optimistic since seeing this thread.

    P.S. It's been so long since we've had a sort of hype/ promo from Unity on what all this work is culminating towards. With Unreal (hate to bring this same crap up again, but it's the best comparison) we see their efforts culminating towards huge elaborate movie quality scenes in real time, particles, new render stuffs. All the cool Unreal stuff that Unreal does well. A promo vid on all this ECS and DOTS stuff, and some talk about revised systems and the usability of Unity getting a shot in the arm, and some exciting hints at future stuff would go a long way. What are the Unity things that Unity is going to do even better in the future? If this has been a huge painful endeavor, but worthwhile, it would be good to know why, as a cavem- err layman.
     
    Last edited: May 11, 2023
    jmankin and jivalenzuela like this.
  47. echu33

    echu33

    Joined:
    Oct 30, 2020
    Posts:
    62
    I believe(and hoping) in the long run there will be more "performance improvement" for built-in component via using Burst (For example, occlusion culling).

    Just a reminder :
    DOTS is not all about ECS But 3 key components : Burst Compiler, Job System(multi-thread), and of course ECS.
    While ECS is more like a WIP at this moment. Burst And Jobs System have been widely use in production already.

    For example Magica Cloth is a CPU-based cloth simulation plugin that can run on mobile (and still fast). All the calculation is via burst-enable job system. Another great news is Since Burst 1.5, ppl can use burst on static method directly even without using Job, which simply make a method's performace 5-10 times faster without any cost(all you need is slam an attribute on top of a method). So these 2 key component is very worth learning. Because It's flexible to use in any project (Besides WebGL.....)

    ECS along is a big topic and other articles online will explain better than me so I'll leave it to them. But overall I'm looking forward to ECS since utlize the DOTS components give you a blazing fast application. Open up the possibility of developing more dynamic/ambitious games.
     
    Last edited: May 11, 2023
  48. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    Haven’t spoke with you for a while Fabrice! Glad you still there! :)
     
  49. MathiasSamples

    MathiasSamples

    Unity Technologies

    Joined:
    Aug 11, 2020
    Posts:
    1
    Hello there,
    My name is Mathias and I lead the Samples team in the DOTS org. I started my professional career at Unity as a QA making internal samples to test our own technology. I have recently moved to be lead of our samples team for DOTS.

    My team have made two samples that have been released publicly so far:
    • Megacity (the OG sample project that showed off DOTS was reworked and released last year again)

    • ECS Networked Racing Sample was released early this year. It is a car racing game showcasing netcode, matchmaking, lobby, Vivox voice chat, physics car controller and a vertical slice of a racing game with all the game logic associated with that.
    We are also preparing to release a new sample for the release of the Entities 1.0 - Megacity Multiplayer. It is a reworked sample of the Megacity project that features multiplayer dogfighting between players with support of up to +64 players. Stay tuned for more news around that soon!
     
    Samsle, Occuros, PanthenEye and 32 others like this.
  50. cecarlsen

    cecarlsen

    Joined:
    Jun 30, 2006
    Posts:
    862
    Thank you for all the intros, I wish all teams would do this. Truly encouraging, looking forward to 1.0!

    In prehistoric times, before Unity decided to buy up and integrate Bolt as their Visual Scripting solution, there was an ambitious attempt to build a novel visual scripting system based on and designed for DOTS. This was put in the grave before it reached maturity in favour of Bolt which already had a user base. I found this decision quite short sighted. I wonder what the long term vision is now in this regard. Bolt was never designed for data oriented thinking, so forcing it would be a serious headache and most likely result in a Frankensteinish contraption.