Async Tick Physics Overview

Overview of the Async Tick Physics feature.

Windows
MacOS
Linux
On this page

In Unreal Engine 5, users can now enable Tick Async Physics across the engine. When enabled, this new feature runs the physics simulation in its own separate physics thread as opposed to running on the game thread.

Advantages of Async Physics Simulation

The main advantage of running physics in its own thread is that the simulation runs on a fixed tick interval which improves the determinism of the simulation and allows for predictable results.

Users can make use of this feature to fine-tune their simulations to always behave in a predictable way. This feature also serves as the foundation for networked physics, as it allows the server and clients to tick physics at the same rate, making it easier to synchronize the results.

Users can specify a variety of settings, such as Async Fixed Time Step Size, to control the accuracy of the simulation. Smaller time steps result in more accurate physics at the cost of performance.

Disadvantages of Async Physics Simulation

Running the physics simulation on its own thread means there is a potential delay between game thread input and when the physics thread sees those inputs. This delay needs to be accounted for, as simulated objects may not react to gameplay events instantaneously. This may lead to unpredictable results if Blueprint gameplay logic heavily relies on physics behavior.

This scenario can be alleviated by executing physics-heavy gameplay code in C++ callbacks that are executed on the physics thread.

Async vs. Non-Async Physics Simulation

In this example, when Tick Async Physics is not enabled, you can see how the same simulation varies every time we run it. Once enabled, the simulation behaves the same on each run.

image alt text

Async Physics Disabled

image alt text

Async Physics Enabled

Async Physics empowers users to fine-tune their simulations to always behave in a predictable way and lays the foundation for networked physics in the future.

Enabling Async Physics

In this section, you will learn how to enable Async Physics for your project.

  1. Click on Settings > Project Settings to open the Project Settings.

    Open project settings

  2. Click on the Physics tab and go to the Framerate section. Enable the Tick Physics Async checkbox. You can adjust the Async Fixed Time Step Size to control the simulation accuracy and performance cost.

    Enable Tick Physics Async