You can have an dummy character for take place and update collision with the world . The dummy is follow the camera vr then keep the contrains between them like fixed distance or vector. You move in real world → camera do offset → then dummy follow → if the dummy has collid and stop → check the fix distance or the fix vector → make the camera revert offset. It work for me.