Chaos Vehicle steering input processed with one tick delay?

It seems that Chaos vehicles process steering input with one tick delay, which can lead to issues when building fast control loop.

I’ve been running the same tests in UE 5.3.2 (Chaos) and 4.27.2 (PhysX), and comparing results. In both versions, I used the template vehicle project, with two changes.

First, I add the following code in the vehicle Blueprint.

The idea is simple: at each tick, I apply a 0.5 steering input and print the wheel angle value.

Second, I set the steering input rate on the vehicle component at an absurdly high value (1000000000.0) to bypass it.

Below is the log for UE 4.27

LogBlueprintUserMessages: [Sedan_C_0] Steering input: 0.5 Steer angle: 0.0
LogBlueprintUserMessages: [Sedan_C_0] Steering input: 0.5 Steer angle: 20.365105

As expected, the steering input is applied to the wheel angle at the tick following the input being set.

Below is the log for UE 5.3

LogBlueprintUserMessages: [SportsCar_Pawn_C_0] Steering input: 0.5 Steer angle: 0.0
LogBlueprintUserMessages: [SportsCar_Pawn_C_0] Steering input: 0.5 Steer angle: 0.0
LogBlueprintUserMessages: [SportsCar_Pawn_C_0] Steering input: 0.5 Steer angle: 16.128185

Here we can see the issue: instead of the expect 1 tick delay, we have a two tick delay before the wheels are properly steered.

I tried messing around with the steering input settings, but no matter what, I always have that extra tick delay.

By default, the UE 5.3 template has no substepping nor async physics tick, so that shouldn’t be the issue (enabling those doesn’t solve the issue either).

I don’t think the issue is new to 5.3, I’m pretty sure it was already there on 5.0 but I didn’t investigate it at the time.

Does anyone have more information on that and maybe solutions/workaround to avoid that extra tick delay?

1 Like

this?