# How to use the new Blueprint node "Event Async Physics Tick"?

**URL:** <https://forums.unrealengine.com/t/how-to-use-the-new-blueprint-node-event-async-physics-tick/1237616>\
**Category:** Blueprint\
**Tags:** unreal-engine, Blueprint, question\
**Created:** [July 23, 2023, 1:36pm UTC](https://forums.unrealengine.com/t/how-to-use-the-new-blueprint-node-event-async-physics-tick/1237616 "2023-07-23T13:36:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon73681907](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anon73681907](https://forums.unrealengine.com/u/anon73681907)\
**Post date:** [July 23, 2023, 1:36pm UTC](https://forums.unrealengine.com/t/how-to-use-the-new-blueprint-node-event-async-physics-tick/1237616/1 "2023-07-23T13:36:30Z")

</div>

The new node “Event Async Physics Tick” runs on its own separate thread, which improves physical determinism & predictability. For Unity users (like me), it’s the equivalent of (FixedUpdate), i.e. Fixed Time Step/Delta Time.

Requirement: I have a **Pawn** Class Blueprint, which acts as my character/player. This allows for custom collision and custom rotation for players/characters that do not adhere to being capsule-shaped, like: Squares, Rectangles, non-humanoid objects, etc.

Objective: I want to add force to it to move it, and customize its movement/jump with float curves, add custom gravity, and be _deterministic_ **no matter what the FPS/Framerate is**.

What I have Achieved so far:

- I have “Tick Physics Async” Under, Project Settings \> Physics \> Framerate, Set to **ENABLED** ; And the “Async Fixed Time Step Size” = **1/60** , or **0.016667**.

- I have “Async Physics Tick Enabled” Under, Root Blueprint (Self) \> Physics, Set to **ENABLED**.

- And finally: I have “Enable Gravity” Set to **DISABLED** , so I be able to debug pawn height when jumping.

This is just a simple **Cube** prototype acting as my player/character(Green):

 ![Screenshot 2023-07-23 064855](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/d/6/7d63ebac16c06208f2994dcd2f9f1e608fed3ca5.jpeg)

- The default “Z” under Location is Set to **0**.

These are the Blueprint nodes to jump:

 ![Screenshot 2023-07-23 065550](https://d3kjluh73b9h9o.cloudfront.net/original/4X/e/3/4/e348e9cc751408fadc3c8122c9983b59fc172862.png)

Demonstrations:

Demonstration (FPS Uncapped):

![Jump-FPS-Uncapped](https://d3kjluh73b9h9o.cloudfront.net/original/4X/4/9/a/49af1da1376f4c5d630537e0a88ae07874e6566b.gif)

FPS Capped (to 15 FPS)(Image):

 ![Screenshot-2023-07-23-072536](https://d3kjluh73b9h9o.cloudfront.net/original/4X/6/0/9/60989fd1a20c1648ce73eef03243b4935e4c0f02.png)

Demonstration (FPS Capped to 15):

![Jump-FPS-Capped-to-15](https://d3kjluh73b9h9o.cloudfront.net/original/4X/d/c/5/dc5b1549e47bb3e25dca492d9c9c27d2ce943adf.gif)

- Problem: We can indeed see that it’s deterministic, but the critical issue is the _simulation time_; in the 15 FPS version, it takes much longer to reach the same destination.

Now with the case of **Curves** using _Timelines_:

- Curve that _leaps_ (0.4 secs):

 ![Screenshot-2023-07-23-074123](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/6/d/16d605d42768d4230da41a57c3be15130acc156a.png)

- Timeline using it:

 ![Screenshot-2023-07-23-074454](https://d3kjluh73b9h9o.cloudfront.net/original/4X/d/3/c/d3cd85c9d9efbe377ee8b54e8f706a6589251d89.png)

- Blueprint in action:

 ![Screenshot-2023-07-23-074313](https://d3kjluh73b9h9o.cloudfront.net/original/4X/5/1/e/51ee6e882d59527ce28eb84016a9ca3f45332a76.png)

Demonstration (FPS Uncapped):

![Curve-FPS-Uncapped](https://d3kjluh73b9h9o.cloudfront.net/original/4X/6/c/1/6c113ea48e1b08cc0a0684e3a45100d5da8b1839.gif)

Demonstration (FPS Capped to 15):

![Curve-FPS-Uncapped (1)](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/2/5/1258588547ce4c3ede515be01f30aeaf588c9ddc.gif)

- Problem: In addition to simulation time taking **much longer** in the 15 FPS version, we now _lost determinism_, which defeats the purpose of the Async function.

Questions: How to keep the **Simulation Time** the same regardless of the FPS, and with **Determinism**? Is it possible -yet- using Blueprints-only?

I noticed there’s a Pin called “Sim Seconds”, but I have no idea what it is and/or how to use it.

---

<div class="post-metadata">

**Author:** ![anon73681907](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anon73681907](https://forums.unrealengine.com/u/anon73681907)\
**Post date:** [July 27, 2023, 1:50pm UTC](https://forums.unrealengine.com/t/how-to-use-the-new-blueprint-node-event-async-physics-tick/1237616/2 "2023-07-27T13:50:14Z")

</div>

Bump …

---

<div class="post-metadata">

**Author:** ![gguolg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@gguolg](https://forums.unrealengine.com/u/gguolg)\
**Post date:** [August 18, 2023, 2:21am UTC](https://forums.unrealengine.com/t/how-to-use-the-new-blueprint-node-event-async-physics-tick/1237616/3 "2023-08-18T02:21:29Z")

</div>

I also wonder what “Sim Seconds” is
