There are a number of tools available for those interested in developing their own native applications in VR, AR, or even mixed reality. Before you undertake any project, decide exactly which tools you will use based on your needs and objectives. What kind of reality do you want to create? What platform do you want to develop for? Who is your audience? Are you most focused on 3D graphics, on interactivity, on data collection? Perhaps, most importantly, what is the learning curve for mastering the authoring tool?
The most popular game engines for VR development today are Unity 3D and Unreal Engine. While both are capable of doing essentially the same things, there are some differences which can can play a role in helping a user to decide which tool is right for them when learning to develop.
Unity 3D has long been considered the default platform for developing within a VR environment.
- Has a direct VR mode to preview your ongoing work in an HMD (head mounted device)
- Based in C# programming language
- Supports all major HMDs (Vive, Oculus, etc) and can export to almost any platform
- Large active community of users, forums, documentation and how-to videos
Unreal Engine is a gaming engine with VR integrations and is gaining popularity as an alternative to Unity.
- Arguably the most advanced, realistic graphics.
- Based in C++ programming language.
- Massive library of free assets including objects, environments, and textures.
- Exports to most platforms