Okay I think I figured out what’s going on here:
- SimulatedTick just isn’t called on OnControlled characters when ReplicateMovement is set to false
- Since “Base Movement” isn’t reflected in the velocity, smooth sync doesn’t know about it for extrapolation (if needed)
- My vehicle is moving fast enough that even the most recent sent state is far enough away to hang off the end of the vehicle
I’ve hacked in some charactermovement->basedmovement based extrapolation, I think I might try forcing the component to extrapolate in high velocity cases and see what happens (since I think it’s going to have to look ahead or be incorrect). But it might be useful to have a way to tweak interpolation/extrapolation based on move speed rather than solely time, but maybe what I’m doing is more of a special case!