Hello, everyone — we’re here with our Q4 2023 DOTS roadmap update!
What is DOTS?
Our goal with Unity’s Data-Oriented Tech Stack (DOTS) is to empower creators to build more ambitious games with Unity and serve their needs in the production of complex multiplayer, crossplay, and open-world games.
DOTS consists of several packages based on the Entity Component System (ECS) architecture. The notion of DOTS is often extended to include the Burst compiler and C# Job System, two technologies that have been created to support the development of ECS but are independent of it. The Burst compiler and the C# Job System can be used in any Unity project, regardless of whether ECS is being used.
This past June, we celebrated the Entities package officially entering Released status with Entities 1.0, ensuring support for production on projects using the 2022 LTS. More recently, we released Entities 1.1, compatible with the 2022.3 LTS.
If you’re looking to get started with DOTS (or just need a refresher), we recommend watching our DOTS overview from GameDevGuild 2022 and checking out the following list of resources and studio production stories:
-
Entities API Overview, ECS Samples and Learn Content: The Entities API Overview, ECS samples and Learn Content reflect the latest APIs available with ECS for Unity in a bite-sized format. These resources will be especially useful for new users to learn about fundamental concepts of data-oriented design.
-
ECS Network Racing: If you’re looking for a smaller-scale multiplayer sample with ECS for Unity, ECS Network Racing showcases the capabilities of Netcode for Entities and how you can easily build a multiplayer game out of the box. Specifically, the sample exemplifies an implementation of client/server architecture with client-side prediction, interpolation, and lag compensation.
-
Megacity Multiplayer: Megacity Multiplayer showcases how creators can build ambitious multiplayer titles that support more than 64 concurrent players, while leveraging UGS services like Game Server Hosting, Authentication, Voice Chat, and Matchmaker.
-
Experimental Character Controller Package: For users looking to quickly jump into building their game, the experimental character controller package also contains bite-sized samples illustrating how you can quickly drag and drop the experimental character controller into your scene, and get prototyping quickly.
-
Stickylock Studios - Histera (March 2023): Jamel Ziaty, producer from StickyLock shares their journey and experience using ECS for Unity, Netcode for Entities, Game Server Hosting, and many more Unity Gaming Services for the creation of Histera, a competitive FPS that mixes prehistoric settings with war-torn 20th-century cities through time travel.
-
Sunblink Entertainment - HEROish (March 2023): Justin Larrabee, CTO at Sunblink Entertainment, shares how their clever use of ECS for the production of HEROish helped them achieve performance, reduce production risks, and empower designers.
-
Walaber Entertainment - JellyCar Worlds (December 2022): Tim “Walaber” Fitzrandolph, Solo Developer at Walaber Entertainment dives into using ECS for Unity to create a soft-body physics system for the JellyCar title.
-
Kasedo Games - IXION (August 2022): Technical Director Jérémy Guéry walks us through how ECS has powered heavy NPC simulation for their city builder in space.
-
Stunlock Studios - V Rising (June 2022): In a 3h-long Twitch stream, lead developers Rasmus Höök and Fredrik Haraldsson presented their use of ECS, from world-building in the editor with custom visual scripting to scalable open-world streaming.
-
Ramen VR - Zenith: The Last City (March 2022): CTO Lauren Frazier explains how ECS helped them scale up their gameplay for managing a VR MMO game architecture.
-
Electric Square - Detonation Racing (March 2022): Lead Developer Jonas De Maeseneer covers the use of ECS for deterministic gameplay for QA and design loops, as well as streaming for a high-pace Apple Arcade racing game.
What’s new since the 1.0 release?
Since hitting release status for Entities, we’ve been keeping a close eye on community feedback in order to improve package stability, resolve bugs, and address high user pain issues. A small set of these improvements are available in the pre-release Entities 1.1 package and can be viewed in our changelog.
There have been other significant updates in the DOTS realm outside of the Entities package:
-
With the new 1.1 version of Unity Physics, we’ve added a collider inspector that shows collider data in detail and allows you to analyze and modify options like collision filters, collider types, geometry, and more in real-time. We’ve also simplified the process for runtime collider modifications with new functions and components that make it easy to create unique colliders and disable the sharing of collider data. Lastly, the dynamic scaling of rigid bodies has been made more intuitive by carrying the uniform scale of a rigid body present at edit-time into its runtime LocalTransform component. You can learn more about these changes and other relevant additions via the Unity Physics changelog.
-
An Editor fix for crashes occurring when using AudioClip.GetData() will be arriving for 2022.3.13f1.
-
After releasing our first experimental version of Burst Occlusion Culling for the 2022 LTS, we conducted many tests and rounds of user feedback. These efforts helped confirm some of our approaches, but we also noted the performance gains in real-world scenarios have not met expectations. We are working on improvements for future versions, but to avoid confusion, we will be removing this experimental feature from general availability in the meantime. Many thanks to those of you who took the time to test the early release of this package. We’ll share details of our new approach in an upcoming roadmap update.
For more details, please check out the detailed changelogs for each of the corresponding packages:
Grateful for Your Feedback
We’ve received a stellar amount of feedback from creators like you over the past months! Know that we are carefully reviewing your input as always for consideration towards our roadmap.
In particular, this past August we hosted the 2023 DOTS Dev Blitz Day — a special event where experts from the DOTS team participate in live discussions and Q&A with users on the Unity Forums and Discord. We received many excellent questions from those who participated and continue to see predominant feedback themes in the areas of animation, open-world creation, physics, and overall DOTS ease of use.
It’s always a gift to hear from you all, be it here on the forums, on social media, or at live events like GDC and Gamescom. Thank you and please continue to keep us posted on your thoughts and needs as you’re working with DOTS.
As always, the best way to ensure your feedback is heard is by submitting and voting on ideas within our public roadmap page. Each card on the page can be clicked on to see details and voting options, and all feedback shared here is directly routed to the proper product teams.
Roadmap
We continue to expect an increasing volume of feedback as creators leverage ECS with Unity 2022 LTS. Our roadmap remains stable and on-track for the coming year as we continue to invest in the following areas:
- Consolidation of ECS workflows: We’re dedicating a significant amount of resources towards understanding and addressing feedback from users adopting ECS in production. Based on the feedback that we’ve received so far, we’ll be focused on the following:
● We’re acting on opportunities to further consolidate ECS workflows so users have a better time iterating and discovering gameplay in their projects. These consolidations also intend to make working with ECS more familiar and approachable to traditional Unity users experienced with GameObject workflows.
● To support fast iteration for your gameplay, we’re preparing to ship the official production-ready release of the ECS Character Controller package (formerly known as “Rival - DOTS Character Controller” on the Unity Asset Store). You’ll be able to use this package to easily add an efficient and highly-customizable character controller solution for ECS, and it can be used with the Unity Physics or Havok Physics for Unity packages. We also have other controller styles in progress that we’ll share more information on in future roadmap updates.
● We’re developing a unified authoring workflow that will allow you to select your preferred physics backend via the Project Settings. Game productions can be unpredictable and sometimes need a different physics engine than what they started with. The need to change backends shouldn’t occur often, but productions have been finding it cumbersome when it does. With this workflow, you’ll be able to switch to the backend you need without having to redo your project. We’ll share more specifics in a future roadmap update.
● We’re working on a new global entities store. Previously, entities were allocated per world and it was often confusing to determine which world an entity belonged to. Entities will be allocated globally so their values are unique when created in different worlds. When debugging, there’s no ambiguity anymore about which world an entity belongs to and this ensures that the data displayed by debug watches is always reliable.
● In addition, entity versions will always be odd. Even values represent unallocated entities, which makes it more convenient to determine what’s what when debugging the insides of the entity store.
● We will be restoring “Frame Selected” / “Lock View to Selected” (”F” / “Shift+F”) functionality in subscenes.
● Official DOTS support for Unity 2023 is coming soon.
-
Enabling cross-play multiplayer game creation: Multiplayer games continue to be a key focus, and our teams are working hard to provide efficient out-of-the-box support for a variety of multiplayer genres. This includes a netcode unification solution delivering all the features you need, a central location in the Editor for multiplayer tools and services, a Playmode for faster testing of multiplayer games, an upcoming multi-platform crossplay sample, and much more! See the details in our November 2023 Multiplayer Update .
-
Enabling open-world game creation: Scalable open-world authoring and runtime capabilities continue to be important for the Unity editor. This is currently being developed on two main fronts, animation, and worldbuilding. On animation, we continue to progress toward a highly performant, customizable 3D animation system that’s powered by our ECS foundation. For worldbuilding, we’re working on better environment workflows more broadly.
-
Improve parallel scheduling and configuration: In the current version of DOTS, all systems run on the main thread and rely on those systems to schedule jobs to enable parallelism. We’re working to improve the out-of-the-box parallelism of DOTS by enabling systems to run in parallel, whether or not they schedule jobs internally. Additionally, the job system is missing configuration controls needed for adjusting how jobs are run to best enable performance for individual game needs. We’re working on expanding the priority and control of how jobs run to prevent common issues users see, such as unintentionally waiting on long-running jobs on the main thread.
-
Improve Entities Graphics performance: Another initiative we are looking at is the support of DOTS deformation in order to provide a mesh deformation pipeline that is performant and scalable - that works on any platform with GPU compute capability supported in DOTS. We’re currently working on improving the GPU performance, as well as the current workflow, for a better and more seamless integration into the engine/SRPs. The next versions will also bring broader material support and URP support for Motion vectors.
-
New Education Content: Our ECS starter samples provide a strong foundation for new DOTS users to understand and bridge the concepts of the C# Job System and ECS. We’re currently working on expanding this repository of samples into guided Unity Learning pathways that give you the skills necessary to start building your multiplayer project with DOTS. Additionally, we will be introducing a new sample that extends the Megacity Multiplayer sample to showcase how those capabilities can be implemented in a cross-play environment, including mobile devices and with a significantly larger number of concurrent players. More details on this announcement will be communicated at Unite 2023.
Our public roadmap page has been updated to reflect recent changes and what we plan to deliver next.
See you soon at Unite 2023!
Learn more about DOTS at our Unite 2023 conference this November 15-16 in Amsterdam. You’ll be able to hear relevant updates across two key sessions:
- The Unite Keynote
- The annual Unity roadmap session: The road ahead for game development with Unity
You’ll also be able to catch other DOTS-related sessions from our Multiplayer and Physics teams:
- Simplifying your multiplayer journey - from creation to connection
- Elevating your game community with AI-driven tools to reduce toxicity
- Lifelike actions and reactions – adding physics to your game
Be sure to keep an eye out for the debut of an exciting new sample from the DOTS team! This upcoming URP-based multiplayer sample game features multi-platform crossplay and support for mobile devices, all based on Unity 2022 LTS features.
Let us know if we’ll see you at the event, connecting with devs and creators like you is always our favorite part of Unite! For those not able to join us in person, the Keynote will be available to stream on our YouTube and Twitch channels. You’ll also be able to send in questions during Unite’s virtual Ask The Experts event taking place on Unity Discussions and Discord.
Thank you!
We look forward to seeing the ambitious creations you develop with ECS and connecting with you all again in our next roadmap update. In the meantime, keep us posted on your thoughts and questions here in this thread!
- Ashley