Two physics systems, one data protocol
The Physics solution consists of two offerings: Unity Physics and Havok Physics. Both are based on the DOTS framework, so they use the same data protocol.
This allows you to seamlessly transition your projects between physics systems without having to rebuild your content or game code.
Whether you’re using Unity Physics, Havok Physics, or both in unison, the unified data protocol allows you to author once, and simulate using any DOTS-enabled system.
Behind the scenes: The Unity and Havok partnership
In collaboration with Havok, we developed a brand new physics engine built on the DOTS technology.
Hear Shawn McClelland (Product Manager at Unity) and Joel Van Eenwyk (Field Application Engineer at Havok) explain how we partnered to build the systems on top of the DOTS framework, which enable you to create physics simulations that deliver exceptional performance compatible with modern networking needs.
Unity Physics and Havok Physics are built on top of the Data-Oriented Technology Stack (DOTS) framework. You can transition a project from one solution to the other, and they can run simultaneously. They are data compatible and let you use Unity’s powerful tools and workflows.
Fast. Light. Stateless. Customizable. That's the mantra behind our new Unity Physics solution.
Built on top of the Unity C# DOTS framework, it is network-ready, completely customizable, and built for performance out of the box. Whether you're building the next mobile hit or a new networked multiplayer console experience, Unity Physics leverages the Burst compiler and Job system to scale across a range of hardware.
Unity Physics is currently in Preview release, available via the Package Manager, and compatible with Unity 2019.1 and later versions.
Havok Physics represents a high-end solution for customers who need to produce complex physics simulations. It’s backed by the industry-leading Havok Physics engine, which powers over half the top titles of this console generation. It is written using the same C# DOTS framework as Unity Physics, but includes the features, performance, stability, and functionality of the closed source, proprietary Havok Physics engine, written in native C++.
Havok Physics is heavily optimized for typical game use cases. Core algorithms have been refined over many years, and various automatic caching strategies (including enabling sleeping for inactive objects) mean that CPU resources are spent only where needed.
Havok Physics is a robust physics engine designed to handle the performance demands of the most graphically intense games, which often include intricate scenes with lots of physical interaction. By working with partners across the industry for over twenty years, Havok has seen, solved, and continues to iterate on many of the hardest problems facing physics simulations. This means stable stacking of physics bodies, minimal artifacts where there are fast-moving bodies, and generally more controlled behavior, especially when working with non-optimized collision geometry.
Announcing Unity and Havok Physics for DOTS | Unity at GDC 2019 Keynote
At GDC 2019 we announced that we were working in partnership with Havok to build a complete physics solution for DOTS-based projects in Unity. Watch Joachim Ante (CTO and Founder, Unity) and Oliver Strunk (Havok) present the solutions.
To help you get started, this repository of examples demonstrates how to take advantage of Physics in DOTS. Unity Physics samples are now included in our Entity Component System samples on GitHub.
See documentation here.
Havok’s Rory Mullane talks Physics at GDC
Follow the journey of the AAA physics engine from C++ to the land of C# and the Data-Oriented Technology Stack (DOTS). Learn about the architecture and features now available in Unity Physics, see it in action, and discover how Unity Physics and Havok Physics can work together to maximize dynamism in your games.