Been working on a physics-heavy platformer and finally committed to doing fixed timestep + render interpolation properly, you know, the "right way" everyone tells you to do it. Set up the classic accumulator loop, store previous and current physics state, lerp between them using the alpha value at render time. Feels clean on paper.
What nobody warned me about: if you have multiple objects that are physically related to each other, interpolating them independently looks broken. Hit this immediately with a moving platform + player standing on it. Both objects interpolate from their respective previous/current physics states independently, so during the lerp window the player visually "floats" a few pixels above the platform surface. Doesn't affect gameplay at all. Looks completely wrong.
The fix I landed on: parent the player's visual transform to the platform's visual transform during ground contact, detach on separation. Felt gross, worked perfectly. Breaks down immediately once you have more than two objects in a physical chain. Player on crate on moving platform is already a mess.
In Unity I've been using Physics.simulationMode = SimulationMode.Script with a manual accumulator, which gives you control but also means every edge case is now your problem. Godot's _physics_process + _process split handles this more gracefully out of the box, but I'm not on Godot for this one.
Also curious if anyone's hit this in a networked physics context. My interpolation seems to interact weirdly with rollback/reconcile. I think rollback is snapping physics state but not resetting the interpolation accumulators, so visual and simulation state drift slightly after a reconcile. Not sure if that's the same problem or a completely separate one.
