How the heck do you make a door in VR!!

I almost finished the door blueprint for both push and pull interactions in friday. It’s not so complicated. To get required Yaw angle just find an arctan of horizontal vector from door axis to controller. It works if your door is vertical.

Calculate current speed in every frame (Current Yaw - Previous Yaw) / DeltaTime and compare absolute speed with some min value to decide if you need convroller vibration / sound or not.

Pushing is slightly more complicated. At first, after BeginOverlap(…) you need to calculate controller velocity vector (Current Location - Previous Location) / DeltaTime]. Then you compare initial velocity with current velocity vector. If they’re codirectional (dot product > 0) and [current door rotation speed generated by controller] (image above) is greater then [current door rotation speed minus const deceleration], set current door speed to [current door rotation speed generated by controller]. Otherwise, simply apply deceleration to the current door rotation speed. Then apply this speed to door rotation itself. EndOverlap Event is not required here, door stops when current door rotation speed decreases to zero by deceleration.