Six Top Tools to Build Augmented Reality Mobile Apps

Six Top Tools to Build Augmented Reality Mobile Apps

Augmented reality (AR) has become the new trend in the digital world and you can hardly meet a person who is not familiar with it after the boom that Pokemon Go brought into the lives of the average mobile user. Though many people consider AR to be only an entertainment technology, it’s actually widely used in multiple industries like healthcare, e-commerce, architecture and many others. This article is going to break down that stereotype.

The potential of AR is seamless and brands are already utilizing this technology in their business to provide a brand new user experience. Companies implement AR to create product demos, interactive advertising and provide real-time information to customers. It was proved that when people touch or interact with a product, they are more likely to buy it due to the emotional bond established.

According to a Statista forecast, the market of augmented and virtual reality is expected to reach the size of $215 billion in 2021. Being a rapidly growing market with huge potential, AR attracts both huge corporations like Google, Apple, Facebook, etc., as well as smaller businesses.

This article aims to help developers to create their first AR app by summarizing information about the most popular and useful AR software development kits (SDKs) that are available. Additionally, we listed the criteria you have to pay attention to while building augmented reality apps.

What types of Augmented Reality applications exist?

Before starting the development of a augmented reality app, you have to choose between two broad categories: location apps and marker-based apps. Below we briefly discuss the differences between them.

Marker-based applications

Marker-based apps are based on image recognition. They use black and white markers as triggers to display AR content. To see the augmented component, you have to point the camera on a marker’s position anywhere around you. Once the device recognizes the marker, an app overlays the digital data on this marker and you can see the augmented object.

When you build a marker-based app, you provide the images or their descriptors beforehand to simplify the process of searching them when the camera data is being analyzed. In other words, the objects are already hard-coded in your app, so they are easier to detect. It’s no wonder that the majority of AR apps are marker-based.hey are especially popular in advertising.

Location-based applications

Location-based AR apps work without markers. They detect the user’s position with the help of a GPS, an accelerometer, or a digital compass and overlay the augmented reality objects on top of real physical places. The most famous location-based app is surely Pokemon Go.

These apps can send notifications to the user based on their location to provide them new AR content related to a given place. For example, an app could give recommendations about the best bars nearby, and show how to get there. As an additional example, an app could help you find your car inside a huge parking using GPS.

What are the Main Criteria to Choose an Augmented Reality SDKs?

When it comes to choosing a development kit, it’s easy to get frustrated by the number of tools available. In order to pick the SDK that best suits your project, you should make sure it supports all the features your app requires. In the following, we detail the main points to consider.

Cost

Pricing is the first distinguishing mark of an AR SDK. For those who want to try AR development for the first time, the best options are free open-source AR SDKs, which are open to contributions and can be extended with new features proposed by developers.

Paid SDKs in most cases offer several pricing plans, depending on the user’s needs. As it happens, free tiers have limited possibilities and are meant to be a “demo version” of the full product. Building a complex app with large, dynamic content will likely require a commercial license. So be ready to pay.

Platforms

If you plan to develop your app for iOS or Android, there won’t be any problems when choosing an augmented reality toolkit, since nearly all of them support them. Meanwhile, the choice of tools that are compatible with Windows or macOS is rather small. Still, you can build your app for Windows computers or smartphones using augmented reality development kit, supporting the Universal Windows Platform (UWP).

Image recognition

This feature is a must-have for any AR app as it allows to identify objects, places and images. To this aim, smartphones and other devices use machine vision together with camera and artificial intelligence software to track images that can be later overlayed with animations, sound, HTML content etc.

3D recognition and tracking

3D image recognition and tracking is one of the most valuable features of any AR SDK. Due to the tracking, an app can “understand” and enhance the large spaces around the user inside of large buildings such as airports, bus stations, shopping malls, etc. Applications supporting it can recognize three-dimensional objects like boxes, cups, cylinders, toys etc.

Currently, this technology is commonly used in mobile games and e-commerce.

Unity support

Unity is known to be the most popular and powerful game engine worldwide. Though it’s usually used for developing computer games, it can also be utilized for making AR apps with powerful effects. Whether you are going to create a cutting-edge experience or extend a more traditional idea with new techniques, multipurpose tool like Unity allows you to implement both.

OpenSceneGraph support

OpenSceneGraph is an open source 3D graphic toolkit (application programming interface). It’s used by app developers in such domains as computer games, augmented and virtual reality, scientific visualization and modeling.

Cloud support vs local storage

When developing AR mobile applications, you have to decide whether user data will be stored locally or in the cloud. This decision is mostly driven by the number of markers you are going to create. If you are planning to add a large number of markers to your app, consider storing all this data in the cloud, otherwise your app will use much storage on the device. Furthermore, having an idea of the number of markers your app uses also matters because some augmented reality SDKs support a hundred markers while others support thousands.

On the other hand, storing markers locally (i.e., on-device) enables users to run your augmented reality app offline, which could be convenient as you don’t always have Wi-Fi or mobile-data available.

GPS support (geolocation)

If you are going to create a location-based AR application, geolocation is a fundamental feature that must be supported by the AR tool you are going to use. GPS can be used both in AR games like Pokemon Go as well as in apps made to overlay data on some nearby locations (for example to find the nearest restaurant).

SLAM support

SLAM means Simultaneous Localization and Mapping. It is an algorithm that maps the environment where the user is located and tracks all of their movements. AR apps containing this feature can remember the position of physical objects within some environment and position virtual objects accordingly to their position and users movements. SLAM has huge potential and can be used in many kinds of apps, not only AR apps. The main advantage of this technology is the ability to be used indoors while GPS is only available outdoors.

Top 6 Augmented Reality SDK for Mobile Apps

Once you know all the features you could possibly require of an SDK to create your augmented reality app, you can check out the following list of six popular tools that are available on the market. We consider these toolkits to be the most relevant and appropriate based on the set of features they provide and their value for money. Some of them are free.

Vuforia

Vuforia is a leading portal for augmented reality application development that has a broad set of features. Vuforia augmented reality SDK:

Recognizes multiple objects including boxes, cylinders, and toys as well as images.

Supports text recognition including about 100,000 words or a custom vocabulary.

Google ARCore

With two millions Android active users, Google could not miss the chance to give developers an opportunity to create AR apps on this operating system. That’s how Google ARCore appeared.

This toolkit works with Java/OpenGL, Unity, and Unreal. It provides features such as:

Motion tracking. ARCore can determine the position and orientation of the device using the camera and spot the feature points in the room. That helps to place virtual objects accurately.

Environmental understanding. Due to the possibility of detecting horizontal surfaces, you can place virtual objects on tables or on the floor. This feature can be also used for motion tracking.

Light estimation. This technology allows your app to match the lighting of the environment and to light virtual objects so they look natural within the surrounding space. With the help of smart light tracking developers can now create very realistic objects.

Maxst

MAXST has two SDKs available: a 2D SDK for image tracking and a 3D SDK for environment recognition. Here is the list of features of the 3D SDK:

MAXST Visual Simultaneous Localization and Mapping for tracking and mapping environments. When you track the surroundings , the map is automatically extended beyond the first view along with the move of the camera. Maps can be also saved for the later uses.

Saving files created with Visual Simultaneous Localization and Mapping to render 3D objects wherever you like on it to create more immersive AR experiences.

QR and barcode scanning.

Extended image tracking and Multi-target tracking. You can track the target as far as the camera can see it and can also track up to 3 images at the same time.