Ubiquotous, Evolving and Growing. Thats three things VR definitely is. You’ll see better games and technologies surfacing around the world. If you are also someone who is fascinated by the world of VR, there is no better time than today to start. Because it is still new and the initial barriers are low as well, makes it the ripest time to enter into the world of VR app development.

Some pointers before you start VR app development

There is a learning process to everything. Before you start anything, make a habit of researching and brain storming on what  you decide. Never jump strait to the development process.

Learn the basic skills

If VR is totally new for you, it will be wise if you start by learning about the basic terminologies, some 3D modeling or designing and even the language of your targeted engine/SDK/framework first. The UI/UX for VR apps posses different challenges than the UI/UX of normal apps. So before you start on the actual development of your app, learning the basics first will add to a more refined and easy development process.

Define your platform

Decide which devices to target, because different devices will require you to use different platforms. Are you just aiming for mobile app development or will it be for desktop and web as well?. If it’s games, which engine/SDK or framework will you be using? You could just use one engine that will work for all, but if you only need to build an app for one platform, it will be better to use a simpler platform. So conduct your research thoroughly and choose accordingly, because then you’ll have to learn platform specific things as well.

Implement something small

Before you go all out on developing a full scale app, work on creating an intro app or something small, preferably  a prototype of your app. It will be a great way to test the waters without incurring any heavy losses or cost.  It’ll be your introduction to the community as well and will put you on a great trajectory to learn evolve and grow through the process and create a more refined app.

Join and engage in VR communities

This is probably the most important thing to do. As I quoted in my previous point, keep in touch with the VR community. You will learn and grow the most this way. Attend meet ups, actively participate in forums/chats, indulge in conversation with other developers, never hesitate to ask the community. You will steer clear of half of the troubles you might run into while developing if you positively engage in VR communities.

These are my pointers to you, before you start any kind of VR app development. Although majority of VR apps are games, there are a ton of other areas which you can target. On the top of my head, you could go for an educational app, something with data visualization, a 360° experience or a Virtual Tour. Really, the possibilities are limitless. Any industry or niche you want to target, you can. So there is nothing holding you back but yourself, But whatever you create, make sure its high quality and not just another VR app.

The key to that? Practice and gain experience and get better!

Some popular VR communities: Reddit , Unity, Steam

So that’s enough pointers, let’s talk about the range of options you have if you do decide to go for VR app development.

Devices to develop for

There are plenty of VR Hmds (Head Mounted Devices) in the market as of yet. Some popular choices could include:

  • HTC ViVe
  • Oculus Rift
  • PSVR
  • Daydream
  • Dell Visor
  • Mirage Solo

You could also squeeze in some Mixed Reality headsets such as Odyssey, Ausus, Hp, Acer as well, but for a starter pack, I think sticking to basics will be best.

Before you pick a device, also know that not every device will have the same capabilities. Some like the Oculus Rift and HTC Vive Pro are more advanced than the others, while some like Google’s Cardboard are simpler and offer less functionality.  Apart from various spec differences, one major thing you must know is the Degree of Freedom (DOF) each headset offers. Some devices come with a 3DOF and some with a 6DOF.

DOF is the degree of movement inside the VR world. 3DOF tracks rotational movement only, meaning  a movement in three directions i-e roll, yaw and pitch. That is also called tracking the orientation, while the 6DOF headsets track orientation and position. That gives you 6 types of movements. The roll, yaw and pith, combined with a positional movement of forward & backward, left & right and Up & down.

A 3D Game Engine or a VR SDK?

Although all VR headsets come with their own SDKs. You could simply follow a tutorial from their official sites. If you are creating an app without high grade graphics and other sensational effects, this will be a good start. Here is a few tutorials for basic VR app development .

However, If you are aiming for a cool VR game, then get your grind on with a good 3D game engine. Choosing between Unity or Unreal will be a good choice. I would recommend Unity over Unreal, because you get greater cross platform compatibility and their tutorials are also great and very thorough.Even with no coding experience, if you follow their learning material by heart, you will be off on a great start. Unreal is a little younger than Unity but offers some of the very best graphic utilities. The Unreal team also offers great tutorials but they are limited as of now.

If you choose Unity, it supports VR apps for:

Windows PC, Mac OS X, Linux, Web Player, WebGL, VR(including Hololens), SteamOS, iOS, Android, Windows Phone 8, Tizen, Android TV and Samsung SMART TV, as well as Xbox One & 360, PS4, Playstation Vita, and Wii U.

If you choose Unreal, it supports VR apps for:

Windows PC, Mac OS X, iOS, Android, VR, Linux, SteamOS, HTML5, Xbox One, and PS4.

With Unity, you will have to learn Play Maker and code in C# and with Unreal, you’ll have to get down and dirty with blueprints and code in C++.

These would be my top choices, but you could also go for LibgdxSteamVR SDK & CryEngine .

System Requirements:

This might vary from the type of VR device you are developing for. This is a bare  minimum of requirements you need to have for the system you will be working on.

  • Processor: Intel Core i5-4590 or AMD FX 8350
  • Graphics: NVIDIA GeForce GTX 1060 or AMD Radeon RX 480
  • Memory: 8 GB RAM
  • Ports: 3x USB 3.0
  • Operating System: Windows 7 or superior

However if you are specifically going for Android/iOS. You will also need a respective smartphone device with VR capabilities.

Lastly, Some Important Factors while developing VR experiences

Once you get all you things done and you are in the development phase. Pay extra attention to mapping the movements inside the VR world.  Two things you should be extra careful about are:

Head Tracking

This one is important 2 map as realistically as possible because a smallest miscalculation will cause nausea. A mistake most people make is not tracking the user’s head position all through the app. As long as the user is inside the application, you must always track the head position.

Acceleration

Acceleration is what defines the movement of the user inside the VR world. A little too much and they are head over heels and a little too less is too jittery. Focusing on the right amount of acceleration is crucial. If you just choose a constant velocity, that will feel extremely unreal and un natural to the user. Find the right amount of acceleration, through trial and error if you may, and you will have no problems. You can also replace acceleration with a similar feeling. The key point here is to make the user feel as natural and comfortable as they would be in a similar real world situation. That is both, a challenge and the reward.

Before I leave you to decide what you want to do in VR app development, take a look at what areas expert predict VR to excell in the most.

potential-of-virtual-reality

VR app development is new and on the rise. If you start now, Who knows you might even create the next Pokemon Go? If you are looking around for an expert to handle your app, why not consult with CitrusBits, a top VR app development company in Los Angeles.