I have a MotionControllerComponent and two meshes. One mesh is attached to the controller via SetupAttachment, the other is updated from the actor’s tick function like this:
Mesh->SetWorldLocation(Controller->GetComponentLocation());
However, the two meshes are never at the same place. The one I’m manually updating lags behind by one frame. I have already tried
AddTickPrerequisiteComponent(Controller);
but that didn’t fix the problem. Can anyone tell me how to fix this?
Note that this is a simplified situation. The real code cannot use component attaching and I need to solve the off-by-one error.
Edit:
There’s this: Issue Tracker and this: Answer Hub. So, I’m guessing this is an old and known issue. The status on the issue is “Won’t fix” BTW.
Edit 2:
Enabling bDisableLowLatencyUpdate on the motion controllers solves the issue (■■■■ you double negatives!). However, now the entire thing lags behind. Most users may be fine with this, but I’m not, and the lag is noticeable for me. What I think we need is a callback for the pre-render update. I’ll investigate further and post back.