Virtual Reality (VR) is finally taking off, and when Sony and Microsoft launch their console based VR headsets, the popularity will only increase further. Despite the fact that VR has actually been around since the 1960s, there are only a limited number of developers and development companies that specialise in the production of good quality VR.
With the emergence of popular headsets, and a wider range of both hardware and software available, however, now is the best time to get into the development, whether you are looking to create mobile apps or PC games and whether you are looking to develop for marketing, for commercial use, or to create high quality and fully immersive entertainment experiences.
There are basically two main options when it comes to choosing an Integrated Development Environment – Unity or Unreal. Although both do effectively enable the same development of VR environments and experiences, there are potential benefits and pitfalls to both, while personal preference will also eventually dictate which IDE you choose.
Unity is the most popular game development platform in the world, and it takes VR development seriously. Programmers can download the software for free, and you only need to start paying if you want additional reporting and premium features or if you require a large multiplayer platform. If your revenue exceeds $100k from your Unity game then you will have to upgrade as well. Prices run to $125 per seat per month for Pro users, while Enterprise customers can expect to pay more than this through bespoke packages.
All users gain access to tutorials and to blueprints. The tutorials are a great way to pick up the basics of using the Unity software, and there are numerous wikis, YouTube videos, and other resources across the web that you can combine with the Unity tutorials in order to get a better all-round picture of VR development. If you do pay for a subscription model, you gain access to Unity Certification courseware, and you also get money off items in the asset database.
Unity runs on C#, and while it is possible to start using the software and learning VR development without any prior knowledge, it will prove very beneficial if you have even a basic working knowledge of the C# language.
The Unreal Engine, in contrast, works with C++ so if you have experience in this language and not in C# then Unreal is likely to be your development platform of choice. In all honesty, Unreal offers many of the same features as Unity. You can study Unreal specific development courses, watch videos and read tutorials on how to use the engine, and you can access the library and database, while also asking questions and joining discussions on the community forum.
When it comes to asset libraries, the assets you buy from Unity and Unreal will work with the platform they are designed for, but you don’t have to be limited to these options alone. Marketplaces like Best3DModel.com offer 3D models, created by independent 3D designers, enable you to buy high quality and good looking models that you can use in your own development.
The Unreal Engine is also free to download and develop with, and you only pay when you reach $3,000 per quarter per game. At this point, the cost is 5% of gross revenue earned from the game. It will depend on the popularity of your games as to whether Unity or Unreal will work out cheaper, but in either case you don’t need to pay until you are making revenue from the site.
The popularity of both platforms means that there is more than ample documentation, FAQ, and even tutorial videos. You can also use the blueprints so that you don’t need to start a development from scratch. Choose a blueprint for a game or world that is similar to something that you want to create. Dive into the source code and then make changes in order to completely customise the experience that you create for your users.
In terms of compatibility, both Unreal and Unity will work on all available platforms and with any headset. The features are similar, but if you conduct a lot of research you will find that many users claim that the Unity software is more intuitive and simpler to pick up and use straight away. This is why Unity currently holds around a 45% game development platform market share. It is highly likely that the platform you opt for will be the one that is based on the programming language that you are experienced in using. C++ developers will usually opt for the Unreal Engine 4 while C# developers prefer Unity.
Part of the reason for VR’s recent surge in popularity is because of the launch of accessible mobile apps and headsets. Devices like the Google Cardboard Viewer are inexpensive, work with the user’s mobile phone, and they can be used to access any of the extensive list of VR apps that are available through Google Cardboard.
Similarly, Samsung’s Gear VR also has some ardent followers, and while its headset is more expensive than the Cardboard, it is still nowhere near the cost of devices like the Vive from HTC or the Oculus headset. It is also easier to develop mobile apps, they do not require the same high quality of graphics and images, and they offer a viable means of testing the water and determining whether you have the skillset required to develop fully immersive VR worlds.
Once you have mastered mobile app development, you may wish to move on to PC development. The HTC Vive is arguably the best PC headset available, but is also the most expensive. While Oculus Rift has the most experience in this area, the Oculus headset does not yet offer the same level of immersion because it forces users to use a console controller rather than the more immersive wands or other input devices. However, this will change, and when the PlayStation VR is released later this year, there will be even more options available to the typical consumer.