We recently finished up our Dev Diner Emerging Tech Inspiration nominations for 2016, where the community nominated those who’d inspired and helped them in 2016. One of the top nominees was TheStoneFox, who produced VRTK — the Virtual Reality Toolkit. He was kind enough to give us some inside info on what VRTK is and how it might help you in your next VR project.
An example from VRTK and TheStoneFox’s lovely avatar!
What is VRTK?
“VRTK is a toolkit for Unity3d that provides a collection of solutions for virtual reality problems, aiming to make it easier and quicker for people to build for virtual reality.” — TheStoneFox
VRTK is a toolkit that works alongside existing VR SDKs like the SteamVR Unity plugin or the Oculus Utilities package. One anonymous nomination for TheStoneFox in our VR/AR Inspirations of 2016 said that VRTK was “an invaluable turning point in their game making endeavours”. That’s very high praise. I also saw this in the Steam reviews which I loved — “I do hope you get paid by the Vive guys, because this should have been their job! Thanks heaps, you saved me days of fiddling and pain!!!”
When a toolkit is getting those sorts of unsolicited testimonials, it’s a sign this is something VR developers need to stop and check out!
How much does it cost?
It is totally free for both personal and commercial use! As TheStoneFox points out,
“VRTK is released under the MIT Licence which is the most permissive licence there is. Basically, this means that devs are allowed to use, reuse, edit, hack, do whatever they want with the code. They can use it in commercial products without any need to attribute the developer (i.e. me) and don’t need to pay any royalties. VR developers aren’t getting rich with their games, so having a completely free solution to aid building and getting content out there faster is better for the devs and better for the VR platform.”
VRTK is currently compatible with SteamVR (HTC Vive and other SteamVR capable headsets) and the Oculus SDK (Oculus Rift), so it is largely for those looking to put together desktop based VR experiences at the moment. However, TheStoneFox says that “the SDK compatibility is separated into its own abstraction so writing additional compatibility layers is relatively straightforward for others to do if they need to”. Basically, if you wanted to get it working on other platforms, it’d be possible! He is eager to support the Samsung Gear VR and Google Daydream platforms but doesn’t have the devices himself to test everything out yet.
Works with both the Vive and Oculus
How to get started
It’s actually incredibly simple to get started with VRTK, you can either:
- * Download it from GitHub and drag the VRTK directory into the Assets folder of the project. TheStoneFox says the GitHub repo is always the most up to date version, so it’s the best one to use.
After you’ve got VRTK in your project, you can check out the various example scenes it has to get an idea of what’s possible with the toolkit. TheStoneFox also has some videos up that’ll guide you a bit on his personal YouTube channel and the VRTK YouTube channel.
There’s also plenty of documentation for VRTK at http://docs.vrtk.io, and if you’re looking to try working with the VRTK version 3 beta, there are new docs for that too. If you need a hand with anything, there’s a whole community of developers who are happy to help over at the VRTK slack channel.
What’s been built with VRTK so far?
VRTK has been a part of a whole range of VR experiences out there, with more developers using it all the time. One of TheStoneFox’s favourite things he’d seen was “a small project built by some guy on Reddit who wanted to learn programming with his young son, so they spent the weekend in Unity and VRTK and together they built a very simple but adorable game”.
“It was just awesome to see VRTK being used to bring a father and son together to help them live out their dreams of building something for VR.” — TheStoneFox
There are quite a few games already on Steam that use VRTK. As you’ll see, VRTK is pretty darn versatile and can help get you started in a whole range of different VR apps:
A screenshot from QuiVr
“The defining archery experience, made from the ground up for Virtual Reality. Grab your bow, arrows, and some friends to fight the enemy onslaught.” — QuiVr on Steam
VRTK was used to support this fantastic game that has rave reviews (seriously, the reviews on Steam for it are crazy positive!). You get to live out your dreams as a super skilled archer!
Look at your creations from above as their deity!
“Live the experience of being a powerful god and create the world to see the growth of mankind.” — Deisim on Steam
Yep. A whole game where you get to be a deity. Seriously.
One of the Last
Fight zombies in VR, even with multiplayer!
“Described by a few as “COD zombies” for Virtual Reality. Freely move around our unique take on zombie tower defense has been built for VR from the ground up.” — One of the Last on Steam
An always evolving zombie survival game that recently released a multiplayer mode! I’ve gotta try this one…
Nock: Hidden Arrow
Pointer interaction in VRTK
A cautionary tale for all VR developers
The development of VRTK wasn’t all smooth sailing, but for reasons which many might not foresee. It wasn’t coding dramas or silly mistakes (though they did have one scary moment where he broke everyone’s pull requests with a few wrong moves in GitHub), it was much more serious than that:
“One serious moment for me though, was a few months back I was working long hours on VRTK (as I do all this in my spare time, it’s all just a hobby project!) and I was wearing the HTC vive a lot, for hours a day, mostly perched on top of my head. I started getting headaches, but I just carried on working then one day I ended up with an almighty headache. I’ve never suffered with migraines before so I didn’t know what it felt like, but it was like a constant pounding in my head for about 3 days.
Eventually, I went to the doctor’s with a terrible headache that wouldn’t go away and they sent me to the hospital to get scans. They thought I may have ruptured a blood vessel as the migraines hadn’t subsided for so long. Luckily, nothing was seriously wrong and I’ve not had a return of the dreaded head pain since.”
The important lesson from all this:
“If you’re developing in VR, take care of yourself, don’t work at it for too long and remember the VR headsets are weighty and they can affect your posture which isn’t good for your health if you’re doing it day in/day out for long periods of time!” — TheStoneFox
The VRTK community
One great thing about VRTK is the community behind it that has helped build it to where it is today. It’s something which TheStoneFox is (and really should be!) very grateful for —
“I’d just like to give a big shout out to everyone in the VRTK community. It’s the thing I’m by far most proud of. Whilst VRTK is a great solution to get people building VR projects easily, it’s the community that has formed that is just amazing. So many active and helpful people from all over the world coming together to help solve problems for each other and many contribute back to VRTK. The community spirit is just so good and the VRTK community deserves so much thanks.”
VRTK works nicely with other Unity plugins, so you can mix and match according to your own developer preferences and the project you’re working on. TheStoneFox points out that many developers use VRTK in conjunction with ArmSwinger by Electric Night Owl, even though “VRTK has its own ArmSwinger variant as standard now (which the author of Immersive Movement and ArmSwinger both worked on to bring it to VRTK)”.
Another toolkit which TheStoneFox mentions is NewtonVR, which he says he’d “love to explore ways in the future of how VRTK can work alongside NewtonVR so devs get the best choice of what to use and are not locked into one solution”.
VRTK is an invaluable tool for VR developers
If you are looking to build for VR, you need to give this toolkit a try (if you aren’t already using it!). It’s incredibly useful and has had a lot of time and effort put into it so that you can skip the initial bits of VR dev and go straight to the more interesting stuff!