This is an early version I wrote as an exercise to learn Unreal Engine 4 and VR development. There's lots of room for improvement; if there's interest, I'll keep improving it.

The two biggest things I'd improve next: