The role of AR SDK in App Development:
Augmented reality is currently booming and with Apple’s goal to make augmented reality mainstream and their announcement of ARKit at the WWDC 2017 followed by Google’s ARCore announcement all developers are on the hunt to find the best augmented reality tools to create the next big augmented reality app or game. With so many augmented reality tools out there, it’s hard to know which one to go with. First, you need to define your objectives by answering the following three fundamental questions: Where to display, What and How.
- Where: The where might involve areas like 2-D image matching and tracking, 3-D object matching and tracking, SLAM tracking, and location tracking (using GPS) and sensor-based tracking using accelerometer, compass, gyroscope. Sometimes the where is nothing more than some predefined point locations, often referred to as Points of Interest (POIs).
- What: On the other hand, the what might leverage 3-D model rendering, animations and gesture detection. In general, the what can be any piece of digital information (e.g. text, image, video) that the user might also have the ability to interact with (e.g. rotate or move it).
- How: How is the very important, because it involves actual AR implementation and AR SDK performs this task on behalf of us (AR developers).
AR SDK: The core software powering an Augmented Reality experience is known as an AR SDK or AR Engine. It solves the difficult task of fusing the real world with the digital content. The AR Engines’ capabilities define the potential features of the AR application.
Augmented Reality SDK facilitates many components within the AR application: AR recognition, AR tracking and AR content rendering.
- The recognition component works as the brain of the AR app.
- The tracking component can be stated as the eyes of the AR experience.
- Content rendering is simply imaginative virtual objects and scenes on the real-time information.
An array of tools is provided to developers through SDK, required to recognize, track and render AR application in the most efficient manner.
Have you ever dreamed of making your own AR app? But you don’t know how to start? So, let’s start with available Augmented reality SDKs and which is more suitable for you?
Enterprise AR Solution and Cost of Development:
Industry vertical AR solutions are focused on using scalable AR solutions to solve issues for industries such as retail, logistics, specific CPG categories and publishing. Pricing models vary substantially based on factors such as usage, comprised of licensing, support and volume of usage fees.
Best Augmented Reality SDK for Developers (iOS+Android+Windows+Eyewares) in 2018
Let us discuss some of the numerous AR SDKs that exist at the moment and that can be used to develop apps for smartphones, tablets or even smart-glasses. So for this article, We are focusing on those SDKs which provide native platform and Unity support and work with commodity hardware.
- PTC Vuforia
- Apple ARKit
- Google ARCore
1. PTC Vuforia:
Vuforia is one of the most popular platforms to help you work with augmented reality development which recognizes the 2D planar image as well as different types of visual objects (a box, cylinder, plane), text and environments recognition, VuMark (a combination of picture and QR-code).
Vuforia 7 Introduces Ground Plane Detection, Next-Generation Object Recognition and Support for Apple’s ARKit and Google’s ARCore. Using Vuforia Object Scanner, you can scan and create object targets (Small, toy size objects). The recognition process can be implemented using the database (local or cloud storage). Unity plugin is simple to integrate and very powerful. All plugins and functionalities of the platform are free to use but include the Vuforia watermarks. One of its biggest pros is its cloud recognition service that allows you to use either local or cloud databases to process image recognition.
Supported platforms: Android, iOS, UWP and Unity Editor and Smart Glasses.
Official Website: www.vuforia.com
- Mixed Reality and Eyewear Support including Microsoft HoloLens.
- Recognize and track a broader set of objects, Image.
- Vuforia Ground Plane will be included in Unity as part of a new free deployment option.
- Natural Interactions with Virtual Buttons
- Vuforia Object Scanner
- Model Targets: CAD based detection to detect real-world objects like a car, bike, machine etc.
|Licence Type||Development||Consumer (Classic)||Consumer (Cloud)||Consumer (Pro)|
|Price||Free (WaterMark)||$499 one-time/app||$99 monthly/app||On Request|
|Images, Objects, Text||Yes||Yes||Yes||Yes|
|SLAM (Surface based)||Yes||Yes||Yes||Yes|
|OS Support||Android, iOS & UWP||Android & iOS||Android & iOS||Android, iOS & UWP|
|Cloud Recognition||1,000 recos/month||–||10,000 recos/month||10,000+ recos/month|
|VuMark||100 VuMarks||100 VuMarks||100 VuMarks||100+ VuMarks|
2. Apple ARKit:
iOS 11 introduces ARKit, a new framework that allows you to easily create unparalleled augmented reality experiences for iPhone and iPad. By blending digital objects and information with the environment around you, ARKit takes apps beyond the screen, freeing them to interact with the real world in entirely new ways.
ARKit runs on the Apple A9, A10, and A11 processors. ARKit uses Visual Inertial Odometry (VIO) to accurately track the world around it. VIO fuses camera sensor data with Core Motion data. ARKit can detect horizontal planes like tables and floors, and can track and place objects on smaller feature points as well. You can take advantage of the optimizations for ARKit in Metal, SceneKit, and third-party tools like Unity and Unreal Engine.
- Fast, stable motion tracking
- Plane estimation with basic boundaries
- Ambient lighting estimation
- Scale Estimations.
- SLAM tracking and sensor fusion
Supported platforms: iOS, Metal, SceneKit, and third-party tools like Unity and Unreal Engine.
Official Website: www.developer.apple.com/arkit/
- TrueDepth Camera
- Visual Inertial Odometry
- Scene Understanding and Lighting Estimation
- High-Performance Hardware and Rendering Optimizations
- Great community support
Pricing: ARKit is an API and is free to download as a part of iOS 11+
3. Google ARCore:
Google releases ARCore to bring AR tools to Android developers. ARCore builds on Tango technology, but makes AR broadly available across Android phones without having to add any additional hardware. The SDK works with Unity, Unreal, and Java/OpenGL.
ARCore is a foundational layer which provides similar capabilities like ARKit, but it works across the Android ecosystem. ARkit provides developers the ability to build motion tracking, environmental understanding, and light estimation into AR applications. With these capabilities you can build entirely new AR experiences or enhance existing apps with AR features.
The first phones that are ARCore-compatible are the Pixel and Samsung’s S8, running 7.0 Nougat, but Google is working with companies including Huawei, LG, ASUS, and others to eventually bring the preview version of ARCore to roughly 100 million devices.
Supported platforms: Android Studio, Unity, Unreal Engine, Web
Official Website: www.developers.google.com/ar/
- Environmental understanding: Allows virtual objects to be placed in a way that physically connects with the real world.
- Motion Tracking: Allows users to walk around and interact with virtual content that is rendered in the 3D world.
- Light Estimation: Create realistic looking objects by having its own light change dynamically according to the environment lighting.
Pricing: ARCore is a built-in API and is free to download as a part of Android SDK 7.0 and above
DAQURI acquired ARToolworks in 2015 and along with it, the ARToolkit SDK which they promptly re-released as a fully open-source project, releasing all of the features previously available only in the “Pro” version to the open source community. The ARtoolKIt-5 is an open source tracking library for augmented reality. The source code for this project is hosted on Github and the compiled SDKs for all other platforms (Mac OS X, PC, Linux, Android, iOS), along with the ARToolKit plug-in for Unity3D. You can download the SDK directly from the official website.
ARRevery is continuously working on improving ARToolkit and providing easy to use and lightweight SDK to end user called ARToolKit+. ARToolkit-6 is available on Unity Asset store in the form of a plugin.
ARToolkit-6 provides support for three general categories of tracker:
- Natural Feature Tracking (NFT): NFT is a sort of gold standard for feature tracking – it supports freeform 2d images which may not have a clearly defined and consistent outside edge. Examples include anything from a drink coaster to a roadside billboard.
- Traditional template square marker: These markers are generally a fairly simple icon with a mandatory solid black border around the periphery. These are best thought of as “designed” markers rather than images that you may already exist organically.
- 2D Barcode Markers: These markers are predefined (in the SDK itself) and are typically highly optimized for rapid detection and solid tracking in variable lighting conditions.
Supported platforms: Android, iOS, Unity Editor.
Official Website ARToolKit: www.artoolkit.org
Official Website ARToolKit+: www.arreverie.com
- Robust Tracking, including Natural Feature Tracking
- Strong Camera Calibration Support
- Simultaneous Tracking and Stereo Camera Support
- Simple to use unity plugin: without prior registering targets
- Full Unity3D and OpenSceneGraph Support
Pricing: ARToolKit versions 5.2 and later are made available freely under the GNU Library General Public License version 3.
Wikitude’s cross-platform Augmented Reality SDK combines 3D Markerless Tracking technology (SLAM), Object Recognition and Tracking, Image Recognition and Tracking, as well as Geo-location AR for apps. Wikitude SDK is a commercial solution but is also available as a trial version with some limitations like Wikitude logo in cam view etc. Wikitude SDK is currently available for Android and iOS and Glassware platform.
Wikitude also provides Wikitude Studio which eases the development procedure, where no programming skills are required and the app can be created by simply dragging object on the studio screen.
Official Website: www.wikitude.com
- image recognition & tracking
- Object Recognition
- Instant Tracking
- 3D tracking technology (SLAM-based)
- Cloud recognition
|License Type||Development||SDK PRO||SDK PRO 3D||CLOUD|
|Price||Limited Free (W-Mark)||2490€ yearly/app||2990€ yearly/app||4490€ yearly/app|
|Geo, 2D image recognition||Yes Limited||Yes||Yes||Yes|
|3D Engine (Studio support)||Yes Limited||Yes||Yes||Yes|
|3D Recognition||–||–||Android & iOS||Android & iOS|
Kudan has opened up a new world by enabling “networked intelligent vision” through combining IoT (computer’s eye) and AI (computer’s brain). Probably the unique thing about the Kudan SDK, and the one feature that gives it an edge over every other Augmented Reality SDK that I’m aware of is that it has very robust single-camera SLAM. Kudan supports Visual Simultaneous Localisation and Mapping (SLAM) tracking technology available for AR/VR, Robotic and Artificial Intelligence applications.
According to reviews and comparisons of efficiency, Kudan is the main rival of Vuforia and make augmented reality development very easy. Kudan supports marker or markerless tracking and location requirements also.
Supported platforms: Android, iOS, Unity Editor and Smart Glasses.
Official Website: www.kudan.eu
- Simultaneous Localisation and Mapping (SLAM) tracking technology
- 2D/3D Recognition in same application
- flexible to work across mobile, HMD and advanced IoT, AI, Robotics applications.
- Available with markerless and marker operation
|License Type||Development & basic Prod.||AR Business||AR Enterprise|
|Price||Unlimited Free (W-Mark)||£1000/yaer||On Request|
|2D image/3D recognition||Yes||Yes||Yes|
|OS Support||iOS and Android||iOS and Android||iOS and Android|
MAXST AR SDK is an augmented reality engine that integrates a variety of features including Image Tracker, Instant Tracker, Visual SLAM, Object Tracker and QR/Barcode Scanner into an all-in-one package. Maxst offers two different tools for image and object recognition. The generation of a database is online via Tracking Manager. To scan 3D objects there isMap Manager is use applications for Android and IOS (MAXST AR Trainer). The free version differs from paid only by a watermark. The official website has full and easy to understand documentation.
Maxst AR focuses specifically on Natural Feature Tracking, and provides a fairly wide range of deployment platforms, including the Moverio smart glasses.
Supported platforms: Android, iOS, Unity Editor, and SmartGlasses.
Official Website: www.maxst.com
- Fast and robust recognition/tracking performance
- Multi-platform supported: Android, iOS, Mac OS, Windows
- Easy to implement various visual effects
- Smart glasses supported: Epson Moverio BT-200, 300 and ODG R-7
|License Type||Free||Pro-One Time (No update)||Pro-Subscription||Enterprise|
|Price||Free (WaterMark)||$499 / year||$599 / year||On Request|
|Images, Objects, Text||Yes||Yes||Yes||Yes|
|DEV IDE Support||Unity, Android, XCode||Unity, Android, XCode||Unity, Android, XCode||Unity, Android, XCode|
EasyAR is offering its next-generation SDK, which offers a number of cutting-edge features, such as SLAM, 3D tracking, and screen recording. However, 3D Tracking, SLAM, Screen Recording functionalities are available only in the paid SDK pro version, not in the free version 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.
EasyAR SDK is developed by VisionStar Information Technology(Shanghai). The library is completely free. To start your work with EasyAR, you only need to register the account and to generate the plugin’s key of your Bundle ID. EasyAR is quite easy to integrate.
Supported platforms: Android, iOS, Unity Editor and UWP.
Official Website: www.easyar.com
- 3D Object Recognition
- Environment perception
- Cloud Recognition
- Smart Glass Solution
- App Cloud Packaging
|License Type||EasyAR SDK Basic||EasyAR SDK Pro (Trial)||EasyAR SDK Pro|
|Price||Unlimited Free||Trial 100 times user/day||499 $/Key|
|Planar Image and Multitarget||Yes||Yes||Yes|
|3D Object & SLAM (Markerless)||No||Yes||Yes|
|Cloud Recognition||Yes (Limited)||Yes (Limited)||Yes|
|OS Support||iOS, Android, Windows||iOS, Android, Windows||iOS, Android, Windows|
VisionLib is a multi-platform library for enterprise augmented reality applications. VisionLib SDK SDK comprises multiple computer vision tracking methods around our enhanced model tracking, which enables painless 3D object tracking for high class augmented reality application.
Based on an edge tracking, VisionLib model tracking enables the use 3D models & CAD data to set up trackers, as they are perfect references for your physical 3D objects. This tackles not only solve typical AR problems, like bad light conditions, dynamic scenes, or low-textured objects – it also makes the set up of tracking configurations much simpler, because no prior knowledge or pre-registration steps are needed. VisionLib SDK is available for trial on demand.
Supported platforms: Android, iOS, Windows and HoloLens and Unity3D.
Official Website: www.visionlib.com
- Enhanced Model Tracking with CAD/Model based detection
- Create AR tracking in seconds
- Open for integration
- Multi-platform support including HoloLens
Pricing: The SDK is in development and Beta version is available freely based on the request .
ARmedia is a cross-platform development environment, available both in free and paid versions, designed to create applications for iOS, Android, and Windows. The SDK provides Tracking and Rendering Modules that are based on a variety of recognition and tracking methods, including 3D Object, Planar, Location and Motion Tracking. Thanks to a unique 3D model tracking approach, ARmedia SDK enabled applications are not just capable of recognizing planar images and locations but also complex 3D objects independently of their size and geometry.
The SDK offers 3D tracking and rendering capabilities with all that is required to develop powerful computer vision and Augmented Reality applications easily and modularly by means of flexible and low-cost subscription options.
Supported platforms: Android, iOS, Unity Editor.
Official Website: www.inglobetechnologies.com
The latest version of EasyAR (1.3.1) supports the image recognition only. Version 2.0 will include the following features:
- 3D Object Recognition
- 2D Image Recognition
- Accurate Geo-location and Navigation
- 3D Targets Manager helps you generate 3D targets
- Integration with Unity3D and Authoring Environment
|License Type||Devloper||Entry (1 Month)||Pro (6 Months)||Business (1 Year)|
|Price||Free||1000 €||2500 €||3500 €|
|2D Tracker Support||Yes (Limited)||Unlimited||Unlimited||Unlimited|
|3D Tracker Support||No||Yes||Yes||Yes|
|3D Target Creation||–||30||200||500|
One way or other, each of these frameworks is quite suitable for creating commercial augmented reality applications. The final choice of the development environment depends on the preferred marker recognition principle and the previous experience of the development team.
Very Informative SanKet. Awesome. I am working on creating an AR platform and app for retail brands , currently I am designing the solution and analyzing the suitable AR SDK’s . Would like to discuss with you some time soon. Would be great if you can confirm your availability to my email id .
Thanks in advance
Great content, thanks for sharing. We’ve created a similar piece with added focus on AR SDK’s for HUD, HoloLens, Magic Leap etc: https://mozenix.com/2019/01/23/12-best-augmented-reality-sdks/
This is literally my first search link into researching AR platforms -. thanks for the list! I’ve been using openCV to develop my own gesture tracking. Is it possible to integrate your own AI with these platforms?