Unity and Havok Physics for DOTS-based projects

Create rich, interactive, and dynamic worlds powered by Unity’s C# Data-Oriented Technology Stack.

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

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.

Unity Physics

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

The gold standard in physics for AAA games is now integrated into Unity. Whether you're a veteran developer familiar with the Havok middleware offering, or an indie developer just cutting their teeth in the industry, Havok physics provides a robust, stable, stateful simulation framework to suit your production needs.

This solution is integrated using the same C# DOTS framework as Unity Physics, leveraging the same data layout, tools, and workflows. It is backed by the closed source, proprietary Havok Physics engine that is written in C++ allowing you to handle even the most complex physics scenarios.

The Havok Physics package will be available later this summer.

Frequently asked questions

What does “deterministic” mean?

Determinism is about getting the same outcome in a physical simulation when it is given the same set of inputs. Both Unity Physics and Havok Physics provide deterministic results. However, because different CPU architectures (x86, ARM, etc.) produce minor differences in their mathematical calculations, the deterministic results of the simulation may be different on different hardware.

Because Burst will solve the problem of cross-architecture determinism later this year, Unity Physics will automatically benefit from this feature as well, meaning that the simulation would be the same on any device.

Note: For single-architecture determinism, Unity Physics will require an upcoming Burst update.

What does “stateless physics” mean?

Most physics engines, including Havok, achieve performance and stability with intelligent optimizations, such as caching parts of the world state in order to bypass or stabilize different calculations. Stateless physics instead achieves performance through brute force optimizations. Because of this, and because future versions of Burst will be able to execute across multiple architectures, it can benefit several different networked scenarios. On the other hand, there are some scenarios where Havok can achieve greater performance and stability.

How does stateless physics impact networked games?

Because stateless physics will be able to execute deterministically across multiple CPU architectures in future versions of Burst, it will be ready and easy to use for a variety of networking setups, including client-side prediction (e.g., FPS), lock-step client simulation (e.g., RTS), as well as GGPO/rollback (e.g., fighting games).

What are the benefits of using Havok Physics in my games?

Because Havok Physics caches different state information to perform intelligent optimizations, it can achieve superior performance in large-scale games or games that use complex physics systems. Havok Physics also offers greater stability in handling interpenetrating objects and stacking bodies. Behavior will also be improved due to an advanced friction model that requires caches.

Can I retroactively apply Havok Physics to my existing games? If so, how difficult is this?

Both Havok Physics and Unity Physics use the same data model in the Unity editor. You can author content in a single way, and opt into either or both physics back ends, depending on the specific needs of your game or subsets of your game worlds.

Will the new system break anything or introduce complexity to current or future projects?

No. Both Havok Physics and Unity Physics are opt-in packages based on DOTS. No existing content will break, though you may need to retune your existing content if you migrate to one of the new back ends.

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it