Assuming you have this setup where the camera follows your HMD (note the scene node parenting your HMD camera)
The simplest method I know to get what you’re looking is to use something like this function in you character BP (open image in a new tab to see full resolution)
We sample the camera relative location, null out the Z axis and get the delta with its old position. We add that delta vector to the collision position and subtract the same delta from the camera offset. Finally we update the old camera position as “OldPosition” member variable. That’s it.
Here’s the bp pastebin: Sync Character Collision to HMD with Rotation Fix posted by anonymous | blueprintUE | PasteBin For Unreal Engine 4
You’ll should be able to walk off ledges and push things around as expected.
Edit: updated to fix rotation, this is done by rotating our DeltaPos by the collision rotation (should only be yaw) but only when added to the collision component, don’t rotate the delta for the camera offset.