This website uses cookies to better the user experience of its visitors. Where applicable, this website uses a cookie control system, allowing users to allow or disallow the use of cookies on their computer/device on their first visit to the website. This complies with recent legislative requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user’s computer/device. To learn more click Cookie Policy.

Privacy preference center

Cookies are small files saved to a user’s computer/device hard drive that track, save, and store information about the user’s interactions and website use. They allow a website, through its server, to provide users with a tailored experience within the site. Users are advised to take necessary steps within their web browser security settings to block all cookies from this website and its external serving vendors if they wish to deny the use and saving of cookies from this website to their computer’s/device’s hard drive. To learn more click Cookie Policy.

Manage consent preferences

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookies list
Name _rg_session
Provider rubygarage.org
Retention period 2 days
Type First party
Category Necessary
Description The website session cookie is set by the server to maintain the user's session state across different pages of the website. This cookie is essential for functionalities such as login persistence, ensuring a seamless and consistent user experience. The session cookie does not store personal data and is typically deleted when the browser is closed, enhancing privacy and security.
Name m
Provider m.stripe.com
Retention period 1 year 1 month
Type Third party
Category Necessary
Description The m cookie is set by Stripe and is used to help assess the risk associated with attempted transactions on the website. This cookie plays a critical role in fraud detection by identifying and analyzing patterns of behavior to distinguish between legitimate users and potentially fraudulent activity. It enhances the security of online transactions, ensuring that only authorized payments are processed while minimizing the risk of fraud.
Name __cf_bm
Provider .pipedrive.com
Retention period 1 hour
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to support Cloudflare Bot Management. This cookie helps to identify and filter requests from bots, enhancing the security and performance of the website. By distinguishing between legitimate users and automated traffic, it ensures that the site remains protected from malicious bots and potential attacks. This functionality is crucial for maintaining the integrity and reliability of the site's operations.
Name _GRECAPTCHA
Provider .recaptcha.net
Retention period 6 months
Type Third party
Category Necessary
Description The _GRECAPTCHA cookie is set by Google reCAPTCHA to ensure that interactions with the website are from legitimate human users and not automated bots. This cookie helps protect forms, login pages, and other interactive elements from spam and abuse by analyzing user behavior. It is essential for the proper functioning of reCAPTCHA, providing a critical layer of security to maintain the integrity and reliability of the site's interactive features.
Name __cf_bm
Provider .calendly.com
Retention period 30 minutes
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to distinguish between humans and bots. This cookie is beneficial for the website as it helps in making valid reports on the use of the website. By identifying and managing automated traffic, it ensures that analytics and performance metrics accurately reflect human user interactions, thereby enhancing site security and performance.
Name __cfruid
Provider .calendly.com
Retention period During session
Type Third party
Category Necessary
Description The __cfruid cookie is associated with websites using Cloudflare services. This cookie is used to identify trusted web traffic and enhance security. It helps Cloudflare manage and filter legitimate traffic from potentially harmful requests, thereby protecting the website from malicious activities such as DDoS attacks and ensuring reliable performance for genuine users.
Name OptanonConsent
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonConsent cookie determines whether the visitor has accepted the cookie consent box, ensuring that the consent box will not be presented again upon re-entry to the site. This cookie helps maintain the user's consent preferences and compliance with privacy regulations by storing information about the categories of cookies the user has consented to and preventing unnecessary repetition of consent requests.
Name OptanonAlertBoxClosed
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonAlertBoxClosed cookie is set after visitors have seen a cookie information notice and, in some cases, only when they actively close the notice. It ensures that the cookie consent message is not shown again to the user, enhancing the user experience by preventing repetitive notifications. This cookie helps manage user preferences and ensures compliance with privacy regulations by recording when the notice has been acknowledged.
Name referrer_user_id
Provider .calendly.com
Retention period 14 days
Type Third party
Category Necessary
Description The referrer_user_id cookie is set by Calendly to support the booking functionality on the website. This cookie helps track the source of referrals to the booking page, enabling Calendly to attribute bookings accurately and enhance the user experience by streamlining the scheduling process. It assists in managing user sessions and preferences during the booking workflow, ensuring efficient and reliable operation.
Name _calendly_session
Provider .calendly.com
Retention period 21 days
Type Third party
Category Necessary
Description The _calendly_session cookie is set by Calendly, a meeting scheduling tool, to enable the meeting scheduler to function within the website. This cookie facilitates the scheduling process by maintaining session information, allowing visitors to book meetings and add events to their calendars seamlessly. It ensures that the scheduling workflow operates smoothly, providing a consistent and reliable user experience.
Name _gat_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _gat_UA-* cookie is a pattern type cookie set by Google Analytics, where the pattern element in the name contains the unique identity number of the Google Analytics account or website it relates to. This cookie is a variation of the _gat cookie and is used to throttle the request rate, limiting the amount of data collected by Google Analytics on high traffic websites. It helps manage the volume of data recorded, ensuring efficient performance and accurate analytics reporting.
Name _ga
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga cookie is set by Google Analytics to calculate visitor, session, and campaign data for the site's analytics reports. It helps track how users interact with the website, providing insights into site usage and performance.
Name _ga_*
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga_* cookie is set by Google Analytics to store and count page views on the website. This cookie helps track the number of visits and interactions with the website, providing valuable data for performance and user behavior analysis. It belongs to the analytics category and plays a crucial role in generating detailed usage reports for site optimization.
Name _gid
Provider rubygarage.org
Retention period 1 day
Type First party
Category Analytics
Description The _gid cookie is set by Google Analytics to store information about how visitors use a website and to create an analytics report on the website's performance. This cookie collects data on visitor behavior, including pages visited, duration of the visit, and interactions with the website, helping site owners understand and improve user experience. It is part of the analytics category and typically expires after 24 hours.
Name _dc_gtm_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _dc_gtm_UA-* cookie is set by Google Analytics to help load the Google Analytics script tag via Google Tag Manager. This cookie facilitates the efficient loading of analytics tools, ensuring that data on user behavior and website performance is accurately collected and reported. It is categorized under analytics and assists in the seamless integration and functioning of Google Analytics on the website.

Best Tools for Building Augmented Reality Mobile Apps

  • 86198 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 almost 7 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. almost 7 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 almost 7 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. almost 7 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 over 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. over 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 over 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. over 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 over 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 over 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. over 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. over 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 about 6 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. about 6 years ago Eddie Long
Thanks ;)
Reply

Subscribe via email and know it all first!