Attached Actor Collision Lagging Behind in Vehicle


I am attempting to make a game in which one can grab a steering wheel attach to a vehicle and in real-time move the physical steering wheel to steer the car. I have everything down except I have a problem wherein if I am driving at high speeds, the steering wheel becomes unresponsive to me grabbing it. I did some debugging, particularly " get component bounds" of the component I’m trying to grab and drawing a debug sphere centered at these bounds on tick. It seems that the bounds lag behind the steering wheel at high speeds, as I can interact with the steering wheel where the bounds are drawn. I have confirmed this by the fact that if I attempt to grab where the debug sphere draws, I am then able to interact with the steering wheel. Here is a video of this happening:

My setup is as follows: I have a skeletal mesh for a car blueprint and this car spawns a steering wheel actor and attaches it to the skeletal mesh of the car. The steering wheel actor has a mesh as its root that can be viewed by a sphere trace. This is the mesh I am trying to grab and when it is found by the sphere trace, the rest of my grabbing and steering works fine. The sphere trace seems to be accurate as far as I can tell. It does not seem to matter if I have CCD on. I have CCD already turned on for the vehicle skeletal mesh, and have turned it on for my steering wheel as well with no effect. I also tried turning on “trace complex” in the sphere trace and set “trace complex on move” as true in the steering wheel mesh to no avail. This actually seemed to make the problem worse. I can upload some screenshots of my blueprints, but at this point there are quite a few blueprints for the relevant actors. Also it seems to me that this is probably a setting thing, but I can’t say for sure.
I have tried to change a few things with my setup as I have looked into some similar problems. For one,

Note that this is in a VR game, though I’m not entirely sure it matters because the problematic components are not those dealing with the HMD and motion controllers.

It should also be noted that I recently converted to UE4.15.0, though this problem still was apparent in 4.14.1

Please let me know if I can include any other relevant information.

Alright so I figured this out sort of. I think it has to do with when the ray trace blueprint is called relative to the movement of physics. I’m not entirely sure of the specifics of when event inputs are executed vs event ticks vs vehicle movement, but my sphere trace works only if I use the start and end the trace at the position of my hand in the previous tick. So it seems like my trace was getting called before the steering wheel actually moved.

Essentially when I input my grab I just allow the event tick to spend one tick saving the position of hand as a vector variable, and then call a sphere trace at that position in the next tick.

This really is not an ideal fix though because all other objects that are physics simulated and inside the truck, but not attached to the truck, have a very large offset for getting grabbed as well. Essentially my problem is now reversed.

I would really appreciate if anyone could give me some advice on why the ray trace needs to be delayed like this. I had messed with tick groups and actor tick dependencies quite a bit but it didn’t seem to do anything to solve this issue.