Virtual reality is already making waves in industries such as education and healthcare, with the biggest growth in gaming.
For existing developers wanting to move into VR or those just starting out, there are a few things to consider. Techworld looks at what exactly needs to be done to become a virtual reality developer.
Requirements and skills
Unfortunately, there is no simple set of requirements.
The level of skills and specific requirements is unique to the platform you'll be building your VR apps on. And while there are certain engines that were created to produce certain VR apps, choosing the right one will be the starting point for all VR developers.
"If you are thinking about developing VR games or apps, you should consider learning Unity 3d or Unreal. The first engine uses C#, the second one C++," says freelance developer, Lecturer of Game Design at Warsaw Film School, and Packt author, Maciej Szczesnik.
"Using one of those engines is required as those tools will speed up the development process a lot," he adds.
For those without structured development experience, coming in fresh is extremely difficult without any game production knowledge. However, for aspiring VR developers, and aspiring developers in general, there are a number of coding courses that can give you a grounding in basic coding, to a more tailored approach specific to VR. But we'll get to that later.
There are two main engines that support VR development: Unreal and Unity, both being the most popular route for most game developers.
Unreal is perhaps more suitable for those starting out as it delivers a flexible development engine that allows developers to use as much or as little code as they like.
On the other hand, Unity will require a decent level of coding knowledge, particularly in C#. With Unity you really can customise your workspace and while this will mean only professional or very knowledgeable coders can use it, it does mean you're have better creative control over your applications.
The development engine you use will differ depending on your skills, but it is clear that a base knowledge of coding is required, or some experience with game development if you want to produce professional looking VR applications.
Start with mobile VR
Mobile VR is a great place to start. There are numerous app development platforms to help you code an app or even create one without any coding at all, though these platforms will produce more simplistic applications.
"You can develop for Oculus Rift and Steam VR on PC, Google Daydream, Google Cardboard and Samsung Gear VR on mobile phones with Android and PlayStation VR on PlayStation 4," explains Szczesnik.
Platforms such as Google Cardboard house great resources, from tutorials and step-by-step guides to an active and ever-helpful developer community.
At its most basic, you'll need to set up your virtual environment with the development engine you choose, and set up the SDK for the mobile VR platform that you're using, such as Google Cardboard or Samsung Gear VR, for example.
From there you'll be able to start creating the framework for your VR app.
Try traditional game development
A background in gaming will always be a bonus when looking to further your skills in VR development. While not all VR apps are made for gaming, many are and it is a great jumping off point.
"A background in the gaming industry can be really helpful, because you usually need to have a general understanding of the physics behind it," Liron Shalev, cofounder and CTO at Halo Labs tells Techworld. "However, there are other routes as the VR space is getting wider and allows using different development environments."
You can always master the techniques and move on to develop VR apps for other sectors.
"I think most people start with traditional games and switch to VR afterwards. Most of the techniques and processes are very similar on both fields," says Szczesnik.
"VR is really similar to traditional game development. You can always start from VR right away, but you will most probably need to learn all the techniques used in standard game dev (game / ui / systems design, physics, animations, 3d art, etc.)"
Follow a tutorial or online course
There are lots of VR tutorials that cater for a wide range of skill levels. These tutorials can provide an excellent gateway to VR development, for those with established skills and those just starting out.
At the very least, these would give you a taste of what VR development involves and will help you assess how much more training you'll need.
Both popular game engines Unity and Unreal offer a great place to start, with (relatively) simple guides available including support, video tutorials, varied documentation and an active forum for troubleshooting.
Take an apprenticeship
Apprenticeships in the digital sector are very common and with the growth of virtual reality, an increasing number of companies are looking to appoint VR apprentices.
The benefits to taking an apprenticeship are huge. You'll be able to learn on the job, receive hands-on training and in most cases, you'll gain mentoring from someone already established in the field.
But of course the big drawback is salary, or in most cases the lack of it. For those considering the route of apprentice, finances and living costs would have to be taken into account.
While I failed to find any formal degrees from UK universities explicitly called "virtual reality development', there are lots of game development courses that will provide an excellent base for VR, with some offering modules in VR development.
Of course a degree will cost £9,000 per year for UK students so it's not exactly a cheap option and it will mean you are out of work for three years.
However, some courses do offer a year in industry, which means that you could find a placement in a VR studio, with potential to be hired once your degree is complete.
The route to VR developer is not well trodden. For now, the easiest way to become a VR developer is to first master game development.
The online courses designed to teach VR development are an excellent starting point, but you will still need some knowledge of coding and application building before you are confident enough to call yourself a VR developer and start applying for jobs in that role.
One of the major aspects, as with all development, is passion. Coding and development takes a lot of determination so a love for VR and for coding is crucial to succeed.
"There are much more variables in VR development and design comparing to other types of development, therefore developers need to be patient and ready for a bumpy ride," says Shalev.
"It might take a while to get the results you were hoping for, embrace the challenge and don't be afraid to ask the online community for advice."