Me and a friend decided to be adventurous for a project. We wanted to make a tech demo that simulated Psychic Warfare, the ability to control and destroy with the power of the mind. To do this without breaking immersion, we felt the need to use peripherals that completely removed the player from keyboard, mouse, or controller inputs. To do this, we went with the (discontinued) Razer Hydras and Oculus Rift DK2. The game loop would consist of the player’s view being the Rift’s viewport with the ability to grab and throw objects with the Hydras. The player would also be able to crush any item they are holding using the two triggers and clicking the stick of the hand the object is held in. This was being developed in Unity, because of the native functionality of both the Rift and Hydras.
However, with all of this comes with a lot of unforeseen problems, and also some foreseen ones. Setup for this project was a nightmare, with all of the drivers, SDKs, and restarting that has to occur, leaving you with a minimum time of a half hour (if you’re quick). Having to do this at least ten times over the course of this project was making me better at it. The DK2 has recently been replaced with the consumer edition of the Rift, which means that there are no longer updated drivers for runtime and sdk for this particular model, which isn’t the end of the world if software didn’t update every five minutes. Unity definitely is an offender of this, and thus, the newest edition of Unity does not support the latest version of the DK2’s sdk and runtime. Bummer.
Now I know what you’re thinking, just downgrade Unity and move on. Don’t worry, we were ten steps ahead of you. After copy-pasting all the project files into a new build, we still had trouble with the Rift’s initialization. The first time setup of the project would prove to be successful, but when you close out and reopen the project, wrecked forever.
Other than technical failures, the Rift is REALLY easy to start developing for because of Unity’s native integration. A simple checkbox is the only thing in the way from using VR in your game (Edit > Project Settings > Player > Other Settings > Virtual Reality Supported). The rest is sort of unfamiliar because of the technical difficulty.
The Hydras proved to be successful, otherwise, and did the functionality that we intended. Accessing the Hydras is also pretty easy. Accessing the two controllers is just selecting 0 or 1 from the input array, and then receiving position and rotation is in the forms of Vector3s and Quaternions. Can’t get any better.
I hope to have access to more stable VR updates in the near future, so that I could pick something like this up again and actually play with it more than trying to get better at translating errors.
Until next time!