ChaosImmediate_Evolution_MinStepTime (p.Chaos.ImmPhys.MinStepTime) appears to cause desyncs when combined with the slomo command. Running a cinematic at slomo 0.2 on a nomally 60Hz frame results in a dt around 0.0033 which is lower than that 0.01 limit for the default min time.
What this SHOULD do here is swap into fixed tick + interpolation. But because the number of steps is Max(1, NumSteps) and never tracked we have to move the immediate solve forward at least 0.01s every single frame. This means the sim runs way ahead. In the case above the sim and game times observed are:
| Game | Sim |
|---|---|
| 0.0033 | 0.01 |
| 0.0066 | 0.02 |
| 0.0099 | 0.03 |
The interpolation can only "see" the last two results so when the game has moved 0.01 its base state is at 0.02. This desync can cause jitter and incorrect results.
The fixed tick mode needs to only move on when we accumulate enough time to do so. The limit is there to avoid large velocities appearing from collisions - maybe it's a little too high but that would be fine as long as we get the fixed tick mode not to run way ahead of the game update.
The code working out the steps is in FSimulation::Simulate (Engine\Source\Runtime\Engine\Private\PhysicsEngine\ImmediatePhysics\ImmediatePhysicsChaos\ImmediatePhysicsSimulation_Chaos.cpp)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-280008 in the post.
| 0 |
| Component | UE - Runtime - Simulation |
|---|---|
| Affects Versions | 5.6 |
| Created | May 12, 2025 |
|---|---|
| Updated | Sep 30, 2026 |