Rotate your device for better experience
Mar 6, 2019
AR / VR
The Augmented and Virtual Reality industries are growing at a seemingly exponential rate. The acquisition of Oculus by Facebook, Google’s investments in Magic Leap alongside the development of AR glasses by Microsoft, have contributed to substantial confidence-boost to new developments in the field.
We see a notable rise in startups with AR/VR based products, which is exciting and challenging. Many times we have been asked how one should choose the right platform for AR/VR development. This is an extremely important question, since choosing a platform has many implications. therefore, it is highly recommended to invest in planning your product architecture- choosing the target platform and developing platform, before starting to develop it.
Choosing a Target Platform
When it comes to AR, there are two main display platforms: Mobile (Android and iOS) and HMD (Head Mounted Displays, AKA Headset). Before you begin, you need to make sure you know who is your target audience and what are the product’s needs.
Most of the AR applications are being developed for Mobile devices due to the costs associated with purchasing a HMD. The price of HoloLens headset, one of the most common AR brands, can reach a few thousands dollars, what makes it not approachable for most users.
If your product is intended for everyday consumer use, you might consider developing it for Mobile, but if your product is meant to be used on an enterprise scale, you can start developing for your HMD. Let’s assume you are developing an application that will help BMW workers to better perform their tasks. In this case, your potential client will probably have resources to purchase a number of headsets, thus your investment would pay-off.
With VR, choosing a target platform is slightly more complicated. You need to decide what is more important for you- to develop a high-end product that requires high performance, or to design a product that will reach the mass market.
For example, if your product is developed primarily for the visualization of Real Estate projects, you should choose high quality HMD, to make the user feel like he is in a real apartment while being in a virtual reality. However, if your product does not require to calculate real-time data and the experience can be rendered in advance, we recommend to consider the use of phone-based HMD and as a result - to aim for a wider target audience.
Choosing a Developing Platform
After choosing a target platform, it is the time to decide which developing tool is most suitable for your journey. This needs to be planned carefully, since once you have started the development with one tool - it will be hard to switch to another platform.
There are three major factors to consider when choosing your developing toolL:
Now, let’s have a deeper look into the 4 primarily developing tools exist in the market.
Unity- The most popular game engine for creating 2D and 3D experiences across many platforms. Unity’s coding language is C#, and it offers different types of subscriptions, including a free one with some feature limitations. Unity is intuitive and relatively simple to learn, and makes it easy to develop features from scratch. Unity Assets store includes a wide variety of free and commercial assets, thanks to the popularity of the tool and the fact that it is highly used.
Unreal- A powerful game engine which is built entirely in C++ and is used to create experiences across multiple platforms. Although that the development with the tool is free, developers need to pay royalties for earnings. High quality scenes can be created easily, and it has some features that can help you hit the ground running. If you’re not a developer, Unreal offers an option to develop using Blueprints rather than code.
CryEngine- A free game engine that provides developers with an access to the source code. Although that the development with CryEngine is for free, its support and training features require payment.
Native Android and iOS- For mobile AR applications, there is an option to use Google and Apple native SDKs called ARKit and ARcore, respectively. The ARKit is a strong developing tool that can boost your work by helping to develop complex features easily. For example, you can implement 3D objects on real-world surface and to measure objects from real-life. Hopefully, Google will improve ARcore so it’ll resemble the ARKit.
For conclusion, if you are a developer or entrepreneur starting your journey with an AR/VR product, you should plan in advance your product architecture before starting to develop it. This will surely benefit you and the product in the long run.
Pro tip - for VR applications, in most cases it is best to use Unity or Unreal because both are powerful tools that support most target platforms.