UE 5.8.3 AddForce and AddTorque limited behavior under some threshold

Summary

When using a blueprint “Add Force” or “Add Torque” block (with or without “Accel Change” toggle enabled), the physics is only correctly applied when the input value is above some threshold.

What Type of Bug are you experiencing?

Simulation

Steps to Reproduce

  1. Create a new Games>Blank project with blueprints
  2. Create a new Basic Level, deleting the floor
  3. Create a Pawn blueprint
  4. Drag the Pawn into the viewport, setting its Location to be in front of the default PlayerStart camera (e.g. X=500, Y=0, Z=0)
  5. In the blueprint editor, add a generic Static Mesh to the pawn, like a Cube
  6. In the pawn’s EventGraph, create “Physics > Add Force (StaticMesh)” and “Add Torque in Degrees (StaticMesh)”, connecting each in series to pawn’s “Event Tick”
  7. In the Static Mesh’s Details pane, ensure that the following values are set under Physics:
    — Simulate Physics = ON
    — Mass = 1.0 kg
    — Linear Damping = 0.0
    — Angular Damping = 0.0
    — Enable Gravity = OFF
    — Advanced > Inertia Tensor Scale: X=0.0 Y=0.0 Z=0.0
  8. In either the “Add Force” or “Add Torque in Degrees”, set one of the inputs to a static value, and all other inputs to 0.0
    — example Add Force input: 6.0 (any direction)
    — example Add Force input: 12.0 (any direction)
    — example Add Torque input: 20.0 (any axis)
    — example Add Torque input: 40.0 (any axis)
  9. Play and observe the Pawn motion
  10. Adjust the “Add Force” or “Add Torque in Degrees” input value, save the blueprint, and play again
  11. Enable the “Accel Change” toggle in both the “Add Force” and “Add Torque in Degrees”, and try adjusting input value again

Expected Result

The linear acceleration (via Add Force) or rotational acceleration (via Add Torque) input should directly correlate to the resulting velocity/position, regardless of input value.

Observed Result

Below some threshold (around 10 for Force, and around 30 for Torque (Degrees)), the linear/rotational velocity does not properly accumulate; the velocity slope appears roughly correct, but the velocity value seems to keep resetting back to 0.0 after several frames. The threshold is not exactly consistent, but is usually roughly the same. The threshold appears to be based on the magnitude of the inputs; for example, Add Force with X=6, Y=0, Z=0 (magnitude 6.0) causes the issue, but Add Force with X=6, Y=6, Z=6 (magnitude ~10.4) behaves as expected.

Affects Versions

5.8

Platform(s)

Windows

Upload an image