07-05-2026, 10:34 AM
(This post was last modified: 07-05-2026, 10:39 AM by josemendez.)
(07-05-2026, 09:49 AM)Jawsarn Wrote: Hi, just checking in if you had time to read the message above and have some comment. I've dealt with a few other problems to solve so comming back at this soon.
Thanks again.
Hi,
As previously mentioned, the problem likely is that you're feeding interpolated values back into the simulation:
Quote:Interpolation (as in physics state interpolation) doesn't affect physical behavior, it only affects visuals. The thing being interpolated is object positions/orientations resulting from two different physics steps, but the interpolated results are not fed back into the simulation - unless you're using a physics simulation to move the solver itself (eg. drive solver movement using a rigid body's interpolated position), in that case you will likely have issues caused by the interplay between interpolation and simulation.
(07-05-2026, 09:49 AM)Jawsarn Wrote: So the Obi Solver is moved by a physics simulation that is interpolated.
Depending on which synchronization mode you're using for the solver, a possible solution would be to move the solver using the uninterpolated position instead. (in Unity's built-in PhysX physics, that would be using rigidbody.position instead of transform.position to move the solver).
(07-05-2026, 09:49 AM)Jawsarn Wrote: - Being able to call the contents of LateUpdate with my own FixedDeltaTime and Steps from the ECS Fixed Steps, this means I can set the transform temporary to "fixedState platform localPosition" before manually calling the previous mentioned function
Cons;
- It needs the same physics fidelity rate as the simulation
Unless I'm misunderstanding what you mean, this is exactly the same as setting the solver's synchronization mode to Synchronous Fixed. This guarantees the solver will update exactly once per fixed update, matching the rigidbody engine's (PhysX or Unity Physics) temporal fidelity. (see the manual for details, specifically the last section called "Bolting Obi onto Unity's time stepping").
Note that since you're using ECS, you should set your project's fixed timestep in the Time settings window (which is the value Obi looks at) to match your FixedStepSimulationSystemGroup value.
kind regards,

