Performance by default
Get early access to Unity’s new high-performance multithreaded system to take full advantage of the multicore processors currently available — without all the programming headache.
Rebuilding the core foundation
We’re rebuilding the very core foundation of Unity. Unity is introducing a new high performance multithreaded system, that will make it possible for your game to fully utilise the multicore processors available today without heavy programming headache. Great performance by default is possible thanks to:
- The new C# Job System — which gives you a safe and easy sandbox where you can write parallel code
- The Entity Component System (ECS) — A new model for writing high-performance code by default
- The Burst Compiler — which produces highly-optimized native code
You can use the new multithreaded systems to create games that run on a variety of hardware. You can also take full advantage of great performance by default, to create richer game worlds with more units and more complex simulations.
The C# Job System
The new C# Job System takes advantage of multiple cores in a safe and easy way. Easy, as it’s designed to open this approach up to C# scripts and to allow users to write fast jobified code, and safe because it provides protection from some of the pitfalls of multi-threading such as race conditions.
Take advantage of multiple cores
The C# Job System exposes the Native C++ Job System allowing C# scripts to be jobified alongside Unity internal components.
A safe environment
Provides protection from some of the pitfalls of multi-threading such as race conditions.
Entity Component System (ECS)
A better approach to game design
ECS is a way of writing code that focuses on the actual problems you are solving: the data and behavior that make up your game.
In addition to being a better way of approaching game programming for design reasons, using ECS puts you in an ideal position to leverage Unity's C# Job System and Burst Compiler, letting you take full advantage of today's multicore processors.
With ECS, we are moving from the object-oriented to a data-oriented design, which means it’s easier to reuse code and easier for others to grasp and contribute to it.
A new LLVM-based math-aware backend Compiler Technology takes C# jobs and produces highly-optimized code.
The best of every platform
Optimized for the particular capabilities of the platform you’re compiling for.
Get many of the advantages of hand-tuned assembler code, across multiple platforms, without all the hard work.
Watch our official Unite and GDC talks
Mike Acton demonstrates best practices for component design to achieve a high degree of parallelism, minimum synchronization, and high performance. Discover new methods to examine your own component system transformations in order to redesign them using data-oriented principles, as well as concrete examples of data layout that you can use in your own systems.
Learn about Unity's new solution for creating smaller, faster, lighter experiences that will enable you to reach everything from entry-level devices to wearables. Gain an understanding of what Unity's small solution is and what the various deployment options it makes possible. Learn about how it relates to the other Unity data-oriented design efforts and how we're thinking about small code going forward.
Unity's CTO and Co-Founder, Joachim Ante shares the principles behind evolving Unity from a GameObject engine to be Entity Component System (ECS), and the benefits it will bring to developers.
Learn about Unity 2018.1’s new C# job system for game code, as well as a new (experimental) Entity Component System implementation to go along with it. These new technologies make it possible to write highly performant code using C#, enabling you to make games with a higher frame rate and better battery life, while maintaining simplicity across both small and large projects.
Get an overview of the performance initiatives underway at Unity and share a deeper look at the technology developed to transform high-level C# code to efficient machine code. Dive into examples and look at traditional C++ engine code and compiler output to compare with our approach. Gain a better understanding of how Unity is solving the problem of optimizing game code and the technology that we’ve built to enable our solution.
Watch Joachim demo the system
A peek into the future of high performance computation in Unity with the C# job system and compiler.
Dive deeper into performance optimization
Get the nitty gritty on how the C# Job System and Entity Component System will deliver high-performance C# scripts.
See the new system in an actual game simulation
See a tech demo built by independent studio, Nordeus, which showcases high-performance results in a massive -scale simulation.
Performance by default
Learn what “Performance by default” means and more about new high-performance multithreaded system that will make it possible for games to fully utilize the multicore processors available today without a headache.
Unite Austin Technical Presentation
As part of the preview release of the Entity Component System, we have worked with our friends from Nordeus to make a version of the technical presentation, we showed at Unite Austin, available.
A cut down version of the presentation is available on Github. Our focus has been to provide you with an updated version that utilizes the latest Entity Component System and to make available a functioning shader for texture driven vertex animation. This version is not graphically equivalent to the presentation that took place at Unite Austin.
Where to go next
Looking for information on how to get started or have specific questions?
A repository of examples on how to use The C# Job System system to write systems at scale for learning and sharing.