VR Game Development - A step by step guideline

By 
XR Bootcamp
January 31, 2022

VR Game Development - A Step by Step Guideline

So, you’re a game developer looking to get into VR game development? 

That’s awesome! After all, you’ve already done the hard part, with a good knowledge of coding/programming under your belt - that’s absolutely essential for VR, and will help you along the way.

Perhaps you’ve played games like Beat Saber, or have been spending a lot of time in Altspace VR; it’s easy to start dreaming and getting really excited by all the things VR has to offer. 

But if you’ve already been wondering about switching from game dev to VR developer, you may be thinking to yourself: are there any VR game jobs available out in the market? And if so, how do you get in on the action?  

Well, first of all, the opportunities in the VR industry are growing from year to year. 

In fact, the demand for VR developers is much higher than that of game developers, and now with the launch of Meta and the Metaverse, you could be one of the first of millions of VR game developers who would be pioneering this industry! 

As for how you get there, we are going to cover:

  1. How VR games are built, things to look out for as a game developer coming to the VR world
  2. Your VR game portfolio, and how to distinguish yourself from others

But first… 

How are VR games built? An overview

First: Imagine your dream VR game

Given you are a game developer yourself, it’s almost certain you have a vision of a VR game you would like to build, something that you would want to play for yourself. Usually VR game development courses follow a particular project path, they have their project planned out ahead of time, so you need to find your own vision and make that, which seems hard but here at XR Bootcamp that’s exactly how we design our courses so that you can follow your game idea.

It’s an inescapable fact that you will need a good portfolio project to showcase your skills. Though, keep in mind that for recruiters it’s not important how big the project idea is, rather they look for the project completion. 

Even if you have only a small portfolio project that is completed and polished, it shows that the developer knows the proper life cycle of a project from starting a project to completion. So, make sure the scope of the portfolio project is small enough to complete. This will go a long way when Applying for Oculus VR jobs. 

That said if you do have an unfinished, yet big, project to showcase, then make sure to point out where exactly you focused your skills - and be ready to describe in detail any particular area of the project you hold strong development skills. This will allow recruiters to focus on that.

Now, as for the project ideas themselves, you don’t necessarily need to go for an original idea; it’s the execution that matters. There’s nothing wrong with copying game ideas, perhaps giving an individual touch to make it your own. 

Maybe you played a non-VR game and thought to yourself: “I wonder how cool this would be in VR”, well then go for it! The only limit is your imagination. You could develop a pirate game where the player is controlling a small pirate ship with shooting cannons attached to it. Or you could make a giant that is hovering over a city and the players can fight it off with the tiny city people, whilst it wreaks havoc on the city. Slay a giant dragon in VR. All of these things, and so much more, are possible! 

Second: Choose your game engine - Unity or Unreal? 

Before you start, you’ll need to select which game engine you’re going to build your VR project on. Obviously as a game developer yourself, you already know that you have two great options; either Unity or Unreal Engine. 

Both are great in their own way. We’d recommend going for the one you’re already familiar with, but do keep in mind the two different engines. As you probably know, it’s easier to learn and build a project on Unity, and it’s especially good for someone who is building a project solo.

TIP: In fact, Unity is by far the most used engine when it comes to mobile development as unity accounts for 71% of the top 1000 titles on the market

Wondering how mobile game development translates into VR game development? In terms of hardware performance and given the current limitations of standalone VR headsets, the optimization factor for applications on both mobile and VR are very similar.

Unity also has a really good community behind it, you can find a lot of information on Unity from Discord, and be part of a good community, which in itself is a huge advantage - something we will cover later in this article.

While all these points make a solid case for choosing Unity as the game engine to build your project on, don’t feel like Unreal has no advantages of its own; after all, it comes with great graphics, along with the blueprints system that works well for non programmers who wish to build something functional. 

And if you search for VR game jobs, chances are you will see either Unity developer or Unreal developer required.

So keeping all that in mind, choose the engine of your choice and start the development process. Although, it’s worth bearing in mind that in this article we will focus more from a Unity developer’s perspective.

Third: Set up your project - webXR or Standalone? 

Once an engine is selected, the next step is to choose which type of XR experience you are going for. You have two options; you could either go for a standalone application, or you could opt for a webXR experience. 

There are pros and cons to both approaches. If you go for a standalone application, you are relying on the VR platform of your choice; let’s assume it’s Oculus Quest 2 (or Meta Quest). Then, anyone who wants to test out your project would first need to install it in their Quest. That’s not too bad. 

TIP: You can find various sites to upload your project; you could use sidequest and upload your project there, or you could upload it on itch.io.

You could also choose to work on a webVR project. Although this is something relatively new and there still needs to be some work done for polishing the development process, it is still very possible to build a webVR experience. The advantage of using webVR is the fact that anyone can play your project on their VR device without needing to install it. Which is great, though keep in mind that the visuals and the power that we can utilize from a standalone VR application is far superior then the webVR experience.

Finally: VR Development

Next we move onto project development, where we really get into the nitty gritty of developing your VR game. If you’re interested in Oculus VR jobs, you must get a handle on these early on.

• Importing assets

When importing game assets, there are certain things you need to look out for as a VR game developer - let’s go through them one by one (don’t worry, we’ll go through some of these topics in detail in the optimization section later). 

• Mesh or 3d models:
While importing models, make sure their polygon count is not too high, as you will require many 3D models for your project. It’s good practice to ensure the poly count of each model is relatively low, otherwise the poly count of every model combined will quickly add up.

Keep the range from 50,000 to 100,000 vertices per frame. Though this was recommended for Oculus Quest 1, bear in mind you won’t run into any FPS issues at least, due to high quality mesh.
VR Game Development
• Textures
While importing textures, ensure their resolution size is not too big - unless required. Keep in mind that each texture you see will be rendered twice in VR, as VR has two viewpoints.
• Materials
Make sure that each material uses very minimal textures, as one material could have textures like a normal map, height map, emission map, occlusion map, and so on and so forth.
It’s important to use only the textures that are absolutely required, otherwise you’ll be facing performance issues and that unless really necessary do not make the material transparent as that is very performance heavy when rendering in VR.
• Gameplay
Probably the most fun part of the process of building a project is the gameplay; it’s also the part you’ll be spending the most time on. There are certain key aspects that are different in XR game development and general game development. Let’s quickly go through the basic VR game mechanics and from there you can pick and choose which techniques suit your particular project.

VR Game Development
  • Navigation: This is vital for any game. In VR, the two most commonly-used techniques are either teleport or direct movement. With teleportation, you can use your touch controllers to point towards the ground and press the trigger to teleport there, or you could go for the conventional movement from the joystick or touch controller.

  • Interaction: In VR, interaction is one of the biggest immersion points, so utilizing that you can go for the physics-based interactions, or for the reach assisting interactions. For physical interaction, you would need to be close to the objects where you could touch them, and only then would you be prompted to interact with them. The alternative would be to point towards something that can be interacted with and click on it to interact, without needing to be physically close. Depending on the project, you might choose one, both, or a combination of the two.

  • Room scale or stationery: Although most games nowadays have the option to work in both a room scale or stationary position, it is still better to know the difference between the two. For instance, from a gameplay perspective, let’s say you were making a car racing game; it would be better in a stationary position. A cover-based shooter, on the other hand, makes sense for the user to have the ability to move around the environment a bit. 

  • Sound: Although it’s something which might be overlooked in a standard 2D game, sound plays an important role in a VR game. In VR, the audio is binaural; in other words, each ear is fed a different audio signal to create the perception of a three-dimensional sound effect. This plays a huge role in immersing the player in the virtual environment. So, when setting up audio in your game, make sure to keep that in mind, and utilize audio to its full capacity. 

    For example, imagine a VR game where you are in a hallway;  suddenly you hear footsteps coming towards you from the darkness in front of you. You can’t see anything, but the audio alone will be enough to make you feel like something is coming. So, if audio is used wisely, it could add so much depth to your project.

These are the basic gameplay mechanics you should be focusing on, but for further information as to how to jump start your project in unity, we recommend looking into the XR Interaction ToolKit package from Unity. 

It’s still a work in progress but this package provides great build in support for basic VR mechanics and something we recommend looking into.

Environment
Another thing to look out for when building a VR game is the environment design. It’s worth bearing in mind that how we approach level designing for a traditional 2D screen is entirely different from an immersive game.


For example, if we wanted to show depth in a scene for a standard 2D screen game, we could use depth of field to blur out distant objects and only make objects that are closer to us more visible. In VR, on the other hand, there is no depth of field as the user is free to view whichever object they wish.
Another thing to look out for is the scale of the environment and the objects placed inside of it. In 2D these things don’t usually matter too much, but in VR our player will be inside the environment and thus the scale has to match as much to the real world as possible - otherwise it will take the player out of immersion.
Optimization

For a VR game, optimization is of utmost importance, even for prototypes. If the FPS of the project is low and the project is barely playable, it defeats the whole purpose of making a portfolio project.  

And, to the recruiters, it might just look like sloppy work and a rushed project put together. And if you are interested in being a VR game designer then you must know how to optimize as most companies make sure their assets are well optimized before use. And if you're looking for VR game designer jobs then knowing Optimization is a must have.

Since optimization is an extensive topic, we have covered that in detail in our Optimization Article.

 

Your VR Game Portfolio - Stand out from the Crowd!

Now that you know what to look out for when developing your VR portfolio project, the next step is to think about how you’ll stand out from the crowd. In other words, what your portfolio should look like.
With that in mind, here’s some tips on how to catch recruiters’ eyes with your portfolio, and some tips to keep in mind when building your projects so you can land your first VR game job

Design For Inclusivity

One thing to keep in mind when building VR projects is that unlike standard 2D games, VR games are very hands-on, and can be physically demanding in certain scenarios.

When designing your game, it’s best to do so in such a way that it can be used by most VR users. How is that you might ask? Well, here are some quick tips:

Player Mobility

Design your game to allow for the player to be able to play it both by sitting somewhere, or by standing. If the player is sitting then the height of the player in the game will be adjusted accordingly. 

TIP: It might seem like a lot of extra work, but if you want recruiters and other players to experience your game project then make sure it’s easy for them to access and use wherever they are.

Another thing to look out for is navigation in the game, and how the player moves around from point A to point B. As a rule of thumb, the easier the better. As discussed earlier, there are various ways to navigate around a VR environment. Choose the design that works best.

 

Lastly, how do the players interact with the world? If they interact with things by first going near the objects and picking them up, it could be more fun but time consuming. While picking up objects from distances might not sound as fun, but it can be if implemented right - and much faster as well. 

See if you can find the sweet spot between the two.

Manage Player Sickness

The struggle of VR sickness is real, and it can be very annoying for users. If you make a good portfolio project showcasing your development skills, but it can’t be played properly without people getting sick, then it defeats the purpose.
It’s vital when first designing your prototype to keep VR sickness in mind, and understand how to overcome it. Some important things to keep in mind:
1. Optimize for high FPS
There’s a whole section dedicated to optimization, and for very good reason; VR games just don’t function well without high FPS. While 30 FPS might be fine for some 2D games, it just won’t work for a VR game.
You need to target 90 frames per second to ensure the player won’t have disorientation, nausea or other negative side effects. An optimized project will achieve this.
2. Reduce vertical movement

As the heading suggests, try to make sure the player is not going up and down too much, and if we want the player to have certain scenarios where they have to navigate vertically, try to limit it as much as possible.

There is a great talk that goes more in depth about VR navigation on GDC, where the level designers of Blood & Truth talk about how they designed their levels and how the player could navigate in them.

One of the important things they mentioned was that since their game was a cover-based shooter, they made sure that when the player would move from cover to cover that there was not too much vertical difference between each cover.

For example, if the player is crouched and in cover, then most of other nearby cover areas were also crouching positions instead of standing, as a way to minimize vertical movements.

3. Use dynamic field of view
If in your project, users can move quickly from one place to another, it’s always a good idea to include some sort of dynamic field of view which can be interlinked with the players’ movement.
If the player is stationary, the field of view can be to its full capacity, otherwise we can transition to a narrow field of view when the player is moving. Users won’t notice this change too much when moving but this will greatly reduce motion sickness.

4. Go for quality not quantity
So now that we have discussed how to go about designing your portfolio project, the second thing that comes to mind is how much work we need to show in order to get some attention.
One common mistake that people make when it comes to their portfolio is simply thinking the more they have to show, the better their portfolio will look. While that is true in some sense, mentioning every little project you’ve worked on over quality of the content itself will not necessarily impress recruiters.
They’re looking for people who have the skills and knowledge required, so if you can prove that with just a few high quality projects (2 - 5), you won’t go wrong. Just focus on the quality of your portfolio.


Finally, show your VR Game at VR Community Meet-ups! 


Lastly, this is something equally important in getting noticed, and it will also be a source of motivation for you to find others out there who are in your field - especially for finding testers and getting feedback about your VR game! Only with constructive feedback you can continuously improve your skillset and learn what's missing to improve your VR Game.

There are many VR developers out there, but those who are always looking to improve and proactively ask for feedback for their experience are rare. Never hesitate to reach out to others - worst thing that happens is a "No", but if you ask nicely, there may be a lot of "yes" and further advice from people seriously enjoying to help out. 

Find likeminded communities, interact with them, learn what senior XR developers are doing and be in the community to see the upcoming trends. Getting in on the conversation is a great way to get yourself noticed and show your expertise. Especially if you're looking for VR game designer jobs, since on average it's a bit harder to enter XR as a designer than a developer.

It might not seem like much, but networking is one of the most important aspects of landing your first VR developer job; recruiters won’t look for you if they don’t know if you even exist. There are many places to connect with likeminded people, places like Discord and LinkedIn. It’s also good to attend events and conferences to get accustomed speaking with the people who already work in the industry. Although it takes quite some time to get noticed in a community and it might seem daunting at first, luckily, we at XR Bootcamp will support you step by step.

From the very beginning, we help our students to not only to become XR developers, but also build their portfolio and online presence, helping them to connect with industry professionals to give their career a head start.

Portfolios of XR Bootcamp Graduates

Given all that is discussed above, for newcomers to VR development, it all might seem a little overwhelming. It’s always best to have a clear roadmap and someone who can guide you in your journey to becoming a VR developer. 

Though you could do it alone, and self-teach yourself from online resources, it would take years to learn properly. Here at XR Bootcamp we teach our students from the very basics to them building their own projects in just four months. Our VR game development course is designed to work with any skill-level developer and gives you the freedom to come up with your own unique ideas to work on.

You might be asking yourself, is that really possible - to become a VR dev in just 4 months? It is in fact possible; the only thing we require from our students is the willingness and eagerness to learn and be prepared to work hard.

Here are some of the projects our students made with just four months of learning our VR game development course, while still having full-time jobs.

Personal Advice from XR Bootcamp

One piece of advice that we would like to give is this: if you’re in this field for VR game designer jobs, or if you’re interested in becoming an XR game developer instead of a designer, one key skill is really important to have to excel in this field, and that is the ability to make prototypes.

Prototyping skills are essential not only to build great portfolios but also because in prototyping you will learn the fundamentals of almost every aspect of what it takes to build A VR game.
And regardless of whatever speciality you select in the future, you need to know the fundamentals of VR development. In fact, recruiters do take interest in people who have multiple talents and skills in the field, and prototyping can get you started.

And lastly, the most important advice would be to have fun and stay curious. This field is just getting started. Be curious and understand that you will be learning new things along the way, some conventional game development techniques will be thrown out and leave you with new problems to solve.

And that should excite you as you will be on the frontier of XR development. There are plenty of VR game jobs in the market, so build your skills to the market standard.

In Summary...

One thing that you will find is that VR development is still in the process of refinement, and things and tools you learned just a few months ago might not be up to date. The XR world is evolving at a rapid pace and to keep up with it, you will need industry experts who can guide you and let you know which trends to look out for and what skills to develop. 

Here at XR Bootcamp we can help guide you regardless of your current skill level and bring you up to date with the latest tools and skills needed to excel as an XR developer, and unlike any other VR game development course, each student is given individual care. Our experts work with your skill level and bring you up to speed faster than you can imagine. 

Feel free to check out our courses here. Alternatively, feel free to join the XR Creators (free) discord server to ask any XR development questions you may have to the >2500 XR developers actively engaging in the channel! 

© 2021 XR BOOTCAMP. All Rights Reserved