Best Tools for Building Augmented Reality Mobile Apps

  • 84543 views
  • 12 min
  • Jan 08, 2020
Mykola V.

Mykola V.

IOS/Android Developer

Gleb B.

Gleb B.

Copywriter

Tags:

Share

Augmented reality (AR) has become a new buzzword in the digital world, and it’s difficult to find someone who’s never heard of this cutting-edge technology. AR is already applied in multiple industries, from gaming (think Pokemon Go) and ecommerce to education and healthcare.

According to an article published on the Digi-Capital blog, revenue generated by the augmented/virtual reality market is expected to reach $108 billion by 2021, with the share of AR likely to reach $83 billion (versus $25 billion for VR). Augmented reality is a huge and rapidly growing market. It stands to reason that major digital corporations, such as Facebook, Google, and Apple, are heavily investing in AR, while many smaller businesses are following suit.

If you’re determined to embrace this new technology and create an augmented reality mobile application in 2020, you need an appropriate AR software development kit (SDK). We’ve decided to help by telling you what SDKs are available on the market and what criteria to look for when choosing software to create augmented reality apps.

Types of Augmented Reality Applications

There are two types of AR mobile applications, and the first thing to decide is which type you’re going to build.

Marker-Based

Marker-based augmented reality mobile applications are based on image recognition. They use a camera of a portable device to detect certain patterns or markers, such as QR codes or images. Once a pattern is recognized, the app overlays digital information on this marker. The orientation of the AR object depends on the position of the marker.

The most advanced augmented reality SDKs support recognition of 3D markers, i.e. real-life objects.

Marker-based Augmented Reality
InkHunter app

Location-Based

Location-based AR apps don’t need markers; instead, they use GPS and other position detectors (accelerometers and digital compasses) to establish your location and create augmented reality objects. Location-based AR mobile applications can show you directions to where your car is parked in a huge parking lot, for example.

Location-based Augmented Reality
Pokemon GO app

How to Choose the Right Augmented Reality SDK

Lots of augmented reality development kits are available, so the choice isn’t that easy. To make the right choice, you should select a tool for augmented reality app development according to the functionality of your mobile app. There are several major criteria we’d like to draw your attention to.

Type of licence

Money. That’s what any entrepreneur should consider first. Therefore, you should check out what kinds of licences each augmented reality SDK offers. As usual, there are free and commercial licences. Needless to say, free functionality is usually rather limited, so a commercial licence is required to build a function-rich mobile application.

There is also open source augmented reality software, to which developers can contribute and add more functions.

Supported platforms

When choosing an augmented reality SDK, you should check which platforms it works with. Of course, nearly any SDK supports both Android and iOS (the two most widely used mobile operating systems).

But what if you decide to develop an app for Windows Mobile? Some AR SDKs are compatible with the Universal Windows Platform (UWP) that will help you create AR apps for Windows-operated smartphones and computers. There are also augmented reality platforms that allow you to develop AR apps for macOS. Even if you don’t need these functions now, you might need them sometime in the future.

Smart glasses support

Today, most AR applications function through smartphones, which means users can see virtual objects on the screens of their gadgets. However, there is a different way to overlay AR objects right on the real world: smart glasses. Unlike smartphones, smart glasses allow hands-free AR experiences. Since smart glasses are becoming more popular (recall Microsoft HoloLens, Vuzix Blade 3000, Epson Moverio BT-300, and many more), being able to build AR mobile apps compatible with these gadgets is certainly an advantage.

Unity support

Unity is one of the most advanced game engines in the world.Typically, it’s used to create games for computers and consoles, but Unity is also capable of powering augmented reality apps. Thanks to Unity, you can create some truly gee-whiz graphics in your AR mobile applications, so check whether an SDK is compatible with Unity.

The downside of utilizing Unity is its resource-intensiveness, so many businesses prefer developing native iOS and Android apps.

Cloud recognition

If you wish to create an AR mobile app capable of recognizing lots of different markers, you should check whether an augmented reality development kit supports cloud recognition. With this feature, markers are stored in the cloud, while an application doesn’t require much space on a mobile device.

Another important aspect is the number of markers that can be recognized. Some augmented reality development kits support 100 markers, but others can recognize thousands of them. Needless to say, the more markers AR development software can recognize, the more advanced the AR experiences you’ll be able to create.

On-device (local) recognition

If your goal is to create a small and simple augmented reality mobile app, you should consider using an SDK with on-device (i.e. local) recognition. In this case, markers are stored right on a user’s portable device, so there’s no need to go online to use the app.

3D tracking

Top augmented reality platforms support 3D image tracking, which means they can recognize 3D objects, such as cups, cylinders, boxes, toys, and more. This immensely expands the opportunities for augmented reality in your mobile apps. For example, 3D object tracking can be used for creating mobile games and AR apps for ecommerce.

Geolocation

Geolocation is essential for creating location-based AR apps. For example, if you wish to add virtual points of interest to your application (that will show, say, the nearest cafes and restaurants), you need an augmented reality platform with geolocation support. Geolocation is useful in some mobile AR games as well (e.g. Pokemon Go).

SLAM

SLAM stands for Simultaneous Localization and Mapping. The name might seem scientific, but the core of this technology is quite simple: SLAM allows applications to map an environment and track their own movements in it. For example, an AR mobile app can remember the position of different things in a room and, thus, keep a virtual object in a certain place while a user moves around the room.

Also, this technology can go far beyond adding AR objects to a room. Thanks to SLAM, it’s possible to create maps for indoor navigation. Keep in mind that GPS doesn’t work indoors, but SLAM does, so this technology has enormous potential.

Best Augmented Reality Tools

Now that you know what features you should consider, it’s time to review the most popular augmented reality platforms on the market. Though there are quite many of them, we’ve shortlisted eight AR SDKs.

Vuforia

Vuforia Augmented Reality Development Tool

Vuforia is one of the best platforms for augmented reality development, as it offers an impressive set of functions. Let’s go over some of them:

  • The Vuforia augmented reality SDK can recognize 2D and 3D objects (such as cylinders, boxes, and consumer products).
  • Text recognition. Vuforia has a standard English vocabulary with over 100,000 words, or you can use your own custom vocabulary.
  • Video playback. Vuforia can play videos when target surfaces are detected.
  • VuMarks are Vuforia’s own bar codes that not only encode data but act as markers as well.
  • Local (on-device) or cloud recognition.
  • Virtual buttons allow you to use various surfaces as a touch screen.

This SDK is available for free, but with Vuforia watermarks and limited functionality. Additional functions that unleash the full potential of this AR SDK are available under several commercial licences.

Kudan

Kudan Augmented Reality Platform

Kudan is a popular Android and iOS augmented reality SDK that doesn’t support other platforms. However, Kudan does have Unity support.

Kudan can recognize 2D and 3D images and supports SLAM. This AR SDK uses the high-performance KudanCV engine that boasts a low memory footprint.

The Kudan augmented reality development kit is available with both free and commercial licences. The free one includes watermarks, though.

EasyAR

EasyAR Software Development Kit

EasyAR is offering its next-generation SDK, which offers a number of cutting-edge features, such as SLAM, 3D tracking, and screen recording. However, these functionalities are available only in the paid 2.0 SDK Pro, not in the free 2.0 SDK Basic.

Even the free EasyAR augmented reality SDK, however, boasts an impressive set of functions, such as cloud recognition and unlimited recognition queries. Also, the free version can store up to 1,000 on-device targets.

Wikitude

Wikitude Augmented Reality Development Tool

The latest version of the Wikitude augmented reality development kit includes a lot of top-notch AR features that allow you to build both marker- and location-based AR mobile apps. Let’s go over the most important capabilities of the Wikitude AR SDK:

  • Instant tracking for mapping environments and displaying of virtual objects without markers. This function is based on Wikitude’s SLAM technology.
  • Geolocation support for adding location-based services to your AR mobile applications.
  • On-device and cloud recognition.
  • Extended tracking function keeps showing virtual content even when the camera loses a marker.

Apart from Unity, the Wikitude AR SDK supports other development frameworks, such as Cordova, Appcelerator Titanium, and Xamarin. This augmented reality development kit comes with commercial licences only, though a free trial is available.

XZIMG

XZIMG Augmented REality Development Toolkit

XZIMG offers three different augmented reality products:

  • XZIMG Augmented Face is a facial tracking technology that works through the Unity plugin.
  • XZIMG Augmented Vision recognizes simple images and black-and-white markers.
  • XZIMG Magic Face is a solution for makeup-based and face replacement applications.

The database is created locally with the help of the Unity plugin. XZIMG tools can be deployed on a variety of platforms: not only on Android and iOS, but also on Windows. Also, XZIMG can be deployed for HTML 5 (through Unity WebGL) and Flash (through FlashDevelop).

ARToolKit

ARToolKit SDK

ARToolKit is open source augmented reality software that allows you to tailor the source code for your mobile app. The functionality is rather good for a free SDK:

  • Integration with GPS and compasses for creating location-based AR apps.
  • Automatic camera calibration utilities.
  • Simultaneous tracking, allowing you to create AR apps capable of tracking several objects.
  • Single or dual camera support.

This open source augmented reality SDK can run on multiple platforms, including not just Android and iOS but Windows, Linux, and macOS as well. Moreover, ARToolKit has Unity and OpenSceneGraph support.

Though ARToolKit has quite a lot of features for a free SDK, it requires time to integrate and configure.

Maxst

Maxst Augmented Reality SDK

Maxst offers two kinds of software to create augmented reality apps: Maxst AR SDK 2D and Maxst AR SDK 3D. As their names suggest, one tool can recognize only 2D images, while the other is far more powerful and can track 3D objects.

  • Maxst AR SDK 3D boasts such features as SLAM, a physics engine effect (used, for example, to create the effect of snow falling and accumulating on the roof), and an occlusion effect (when virtual content is fully or partially screened by a real object).
  • Maxst AR SDK 2D comes with multiple image recognition (up to 200 images per channel), video augmentation, and more.

Maxst augmented reality development tools are available for free (with watermarks) as well as under a commercial licence.

Apple ARKit

Apple ARKit SDK

Apple introduced its own augmented reality SDK during the Worldwide Developers Conference (WWDC) on June 5, 2017. This AR tool will be available for the brand-new iOS 11, which is due to be released in the fall. Apple has put a lot of effort into making augmented reality experiences available to iOS developers. ARKit is already available for a beta version of iOS 11. Let’s go over the most important functionalities of Apple’s AR SDK:

  • Visual Inertial Odometry accurately tracks the environment by combining visual information from the camera with advanced computer vision analysis.
  • Plane detection enables iPhones and iPads to scan the environment and detect horizontal planes (floors, tables, etc).
  • Lighting estimation automatically analyzes the amount of light in the real world and adjusts the amount of light hitting virtual objects.
  • ARKit can be used in combination with the Unity and Unreal engines.

ARKit, however, will only work with Apple A9 and A10 CPUs, so augmented reality functionality will only be available for those devices manufactured after 2015 (another reason to rush for new iPhones and iPads!).

Augmented Reality SDK Comparison

Based on the criteria above, we’ve compiled a comparison chart of the top eight augmented reality platforms.

Vuforia Wikitude EasyAR Kudan ARToolKit Maxst Apple ARKit XZIMG
Licence Free, Commercial Commercial Free, Commercial Free, Commercial Free Open Source Free, Commercial Free Free, Commercial
Supported platforms Android, iOS, UWP Android, iOS Android, iOS, UWP, macOS Android, iOS Android, iOS, Linux, Windows, macOS Android, iOS, Windows, macOS iOS Android, iOS, Windows
Smart glasses support + + - - + + + -
Unity support + + + + + + + +
Cloud recognition + + + - - - + -
3D recognition + + + + - + + -
Geolocation + + - - + - + -
SLAM - + + + - + + -

Now that you know what augmented reality SDKs are available and what major features they offer, you can choose the most appropriate tool for creating great AR apps. Decide what functionality you need in your mobile application, check the list of SDKs, consider the pricing, and you’re ready to develop a top-notch app.

CONTENTS

Tags:

Authors:

Mykola V.

Mykola V.

IOS/Android Developer

Gleb B.

Gleb B.

Copywriter

Rate this article!

Nay
So-so
Not bad
Good
Wow
12 rating, average 4.67 out of 5

Share article with

Comments (14)
Rahul Shinde
Rahul Shinde about 6 years ago
Nice information about the SDKs. I want to create AR app which recognize two points of 3d object and gives me the real dimension. Which SDK I should prefer?
Reply
Gleb B.
Gleb B. about 6 years ago
Thank you, Rahul! As for your question, we recommend Apple's ARKit. This is a powerful SDK that uses Visual Intertial Odometry (VIO) to track the world around a device. Thanks to this technology, ARKit allows you to easily build the AR application that will work like a ruler − it will accurately measure the distance between two points of a real object.
Reply
Rahul Shinde
Rahul Shinde about 6 years ago
Thanks Gleb for the reply!!. Is Apple's ARKit is the only SDK right now with real time measuring capability of 3d objects?. Just wanted to confirm before starting on Apple's ARKit.
Reply
Gleb B.
Gleb B. about 6 years ago
Hello, Rahul! We recommend ARKit but it isn't the only SDK that can both measure the distance between two points and recognize 3D objects. For more information, check the documentation of SDKs you're interested in (make sure to select those with 3D recognition support).
Reply
Al Karlssen
Al Karlssen about 6 years ago
Great article. I think that the technology of AR definitely has a great future. now we can see AR ads on the streets in almost any big city, for example, advertising a film of Lego, Pepsi or Uber. You can find many videos on Youtube. It was also used in schools and universities. Schoolchildren could write a short description of the books and the teachers talk about their subjects and themselves on the timetable board. You need only a smartphone for all this things. And some companies create cool AR app and it will be the main trends of 2017.
Reply
Gleb B.
Gleb B. about 6 years ago
Thank you, Al! You're totally right about the potential of augmented reality and the world's largest tech companies like Apple and Google are investing money in this technology.
Reply
Andrew Dowling
Andrew Dowling about 6 years ago
Excellent piece, answered a lot of questions I have had for a long time. I am interested in an App that will regocnise a Image and initiate a video related to the specific image. What is the best SDK for me?
Reply
Gleb B.
Gleb B. about 6 years ago
Thanks, Andrew! As for your question, you can go for any SDK capable of recognizing 2D images. An image acts as a marker on top of which an SDK overlays a specific video. Out of our shortlist, you can create the app you need with the help of, for example, Vuforia SDK.
Reply
TruthWins
TruthWins almost 6 years ago
Excellent article.. covers a lot of things.. but i am confused with my scenario.. I want to develop AR app on PC and/or mobile that should be able to detect our company's electronic devices and give onscreen instructions on how to use them AND provide voice assistance support? Which is the best free AR sdk for PC and android?
Reply
Cynthia Myers
Cynthia Myers almost 6 years ago
Kudos for publishing a grammatically-correct article! Many technical blogs in this augmented reality category contain content with poorly- written sentences that serve to distract the reader (and irritate the stew out of technical writers). Just as importantly, your article wasn't too long or too short. Thank you so much for including AR (augmented reality) development concepts that we beginners really needed to know but hadn't discovered yet! Thank you! Well done.
Reply
Gleb B.
Gleb B. almost 6 years ago
Thank you! Our article mostly focuses on mobile SDKs for AR app development, but some tools allow you to develop apps for PCs as well. So, first select the tools that allow you to create apps for both PCs and mobile devices, then check what licence they come with. Also, make sure to select an SDK that supports 3D recognition since you want your AR app to detect your company's electronic devices. Based on these criteria, we would recommend Maxst SDK, but you should check out other tools too, as only you know precise requirements of your project.
Reply
Gleb B.
Gleb B. almost 6 years ago
Thank you for your kind words, Cynthia! We want not only to provide helpful information but also to do so clearly.
Reply
Eddie Long
Eddie Long over 5 years ago
There is also the Blippar SDK (disclaimer: I work there) - see documentation at https://github.com/blippar/blippar-ar-sdk
Reply
Maryna Z.
Maryna Z. over 5 years ago Eddie Long
Thanks ;)
Reply

Subscribe via email and know it all first!