ECS for Unity
Better control for experienced creators and demanding projects
ECS is part of Unity's Data-Oriented Technology Stack (DOTS). Enabling creators to build with more complex gameplay, rich dynamic environments, larger player counts, and support for hardware-constrained devices.
ECS for Unity offers streamlined workflows and a familiar authoring experience in the Unity Editor, compatible with GameObject ecosystems. Creators can leverage their existing Unity expertise and assets to focus on creating ambitious games.
Game code based on ECS helps development teams quickly absorb important gameplay changes by eliminating most of the refactoring that would have been necessary with object-oriented architectures.
ECS for Unity provides memory control and determinism by design, creating optimization opportunities at scale, and new game code possibilities based on determinism. ECS for Unity is a C# package distributed with source code, allowing users to explore, debug, and extend it.
Game code based on an ECS architecture pattern can avoid the drawbacks of object-oriented programming with GameObjects. And by leveraging game code based on ECS, Burst Compiler, and the C# Job System, development teams can maximize the performance of target platform hardware resources at the memory and CPU level.
ECS for Unity offers an efficient data pipeline that enables streaming and rendering of complex, large-scale game experiences, fitting the memory and processing constraints of low-end to high-end devices.
Simulation code based on an ECS architecture pattern can scale to an unprecedented number of entities and ensure determinism. For complex productions needing a AAA, production-proven, physics engine, ECS for Unity powers Havok Physics for Unity, providing the determinism and control to scale for complex simulations.
When using ECS, users can synchronize more data over the network, support more players, build games highly reliant on rollback and determinism, reduce development risk, and decrease iteration time. ECS for Unity comes with a server-authoritative netcode library.
ECS Samples and Tutorials
Experience this competitive, 128+ player cross-platform demo to learn multiplayer and ECS mechanics, understand how to implement gaming services, and experiment with all-new Unity 6 features.
An approachable ECS learning sample featuring a large-scale simulation of spaceship battles. Galaxy Game involves simple, useful ECS game code for AI, spatial queries, event-based logic, different unit/building types and roles, many-to-one relationships, and more.
Explore a comprehensive list of self-guided tutorials, videos, samples, and best practices for ECS – including Entities, Collections, Burst, Mathematics, and C# Job System.
Learn how the Data-Oriented Technology Stack (DOTS) can unlock serious performance for your existing Unity game. This tutorial provides an overview of key DOTS concepts before implementing them in a GameObject-based project. See the tech in action, and learn how and when to use different DOTS components.
This 50+ page e-book, Introduction to the Data-Oriented Technology Stack for advanced Unity developers, is now available to download for free. Use it as a primer to better understand data-oriented programming and evaluate if DOTS is the right choice for your next project.
Check out some of the resources to help you get started with DOTS and learn about the fundamental concepts of data-oriented design.