Half a decade ago heated debates about the perspectives of Augmented reality raged all over the Internet. The technology was often compared in terms of possible applications with Virtual reality. But today it seems that AR has won the fight and gains more and more popularity with each passing day. Even people who are distant from the high-tech sphere have heard or at least saw some examples of this amazing technology. There is no need to dig up examples – the echo of Pokemon Go is still booming in the distance and more games based on the same principle periodically appear on the radar. Apart from the gaming industry, AR is also used in various educational, e-commerce, architectural, and healthcare projects.
AR takes the world around us and enhances it with various useful information, adds fascinating interaction options, or just draws visual effects that complement reality. For example, an architect can put on holographic glasses on a construction site to see the blueprints of the whole building without going back to the office. An interior designer can decor a house virtually and show the design to the owners using an AR-device. It is expected that the number of smart glasses, which is one of the most popular form-factors for AR-devices, will exceed 33 billion worldwide in 2022. In 2018, the AR market was estimated at 350 million US dollars, but the latest forecasts promise us the growth up to $190 billion by the end of 2024 with the CAGR of 151.93%!
This hype could not slip unnoticed past bigger corporations that are constantly looking for new opportunities in all markets. The market of augmented reality has colossal potential and it is still growing, so no wonder why giants like Apple, Facebook, and Google have serious intentions to invest their money in AR. But it does not necessarily mean that you have to be a big player to join the chase. With the help of software development kits (SDKs) designed for creating AR applications, every willing soul can hop on the train of AR development and experiment with this technology.
What is an Augmented Reality SDK (Software Development Kit)?
The progress made by AR technology over the past few years is astounding. It has opened a new world of opportunities with a few limitations. With new apps, we can use computer-calculated projections in the real environment inventing new fascinating interactions with no restrictions for our imagination.
This technological boom has also raised the demand for advanced developer tools that could improve the process of creating new AR-apps and games (make it faster and easier). Software Development Kits are the main tool for working with various software products. AR software products are no different, so they all need a set of instruments adapted for the specifics of the technology.
AR SDKs come packed with all the features you need to build an AR application. This includes object recognition, motion tracking, and more. Selecting the right SDK for your augmented reality project must be the first step of the development stage. It will help you to streamline workflows and optimize parallel processes. And today we would like to talk about the best SDKs available on the market, discuss their functions, so that you may choose the one that suits you the most.
How Augmented Reality Works
AR SDK is based on Visual Inertial Odometry (VIO) process. AR Kit tracks the physical world around using data received from smartphone’s motion sensors and camera. Next step is to display AR content to the device’s 2D screen, making it an essential part of the real world. It is achieved by using principles of 3D geometry and computer vision analysis.
The main requirement for working with AR SDK is a clear image. The camera has to recognise surfaces, objects and distances between them. And it’s impossible without a good contrast. Tracking doesn’t work in dark spaces or too bright rooms with blank walls, white furniture or reflective surfaces.
Best SDKs for Augmented Reality App Development in 2019
We decided to take the most straightforward approach to this question and focus on the most used SDKs. The logic behind this idea is simple: if these SDKs are popular, it means they get the job done. Developers are always practical, which implies that they won’t waste their time on average or just decent tools. Here are our picks for the list of the best development kits for augmented reality projects:
Now let’s talk about each one of them in details, look at their main features, and find out in what scenarios they work best.
In 2017, Apple Corporation decided to join the AR development scene and released this framework. Since then it has gained a lot of popularity and attracted many new developers. The first version of ARKit came out with iOS11, and with the release of iOS12, this SDK was updated and changed its index to ARKit 2.0. The latest version available today is ARKit 3.0. The framework lets developers take advantage of the newest functions integrated into modern devices (e.g., motions sensors) and adapt them for creating augmented reality.
Apple didn’t invent the wheel with this SDK, so it operates exactly like many other kits, letting apps to draw objects and other visuals that are merged with real scenery. The main bet was on the compatibility with a wide array of devices. With the release of the third version of ARKit, the company restricted the framework’s newest features (people occlusion, face tracking, motion capture, etc.) to devices with A12 processors. Despite this fact, this SDK remains a top pick for many AR developers who got used to creating applications with it. We believe that its popularity is also justified by associated optimizations with standalone 3D engines such as Unreal Engine or Unity.
- Space recognition
- Object detection
- Lighting estimation
- Multiplayer support (ARKit 2.0 and 3.0)
- Persistent AR experience
Google couldn’t stay aside after Apple had made its appearance on the AR SDK scene. They needed to answer with a new product for Android devices. But during the development stage, Google decided to include iOS device support as well. ARCore was presented to the masses in March of 2018.
The SDK required at least Android 7.0 as all previous versions of the operating system were deemed too old (as for iOS, at least iPhone 6s or later models). All Android devices no matter the manufacturing company or brand had no troubles with running ARCore. You can find the list of compatible devices for the latest version of ARCore on the official website. As for the third-party engines, Google’s SDK does not fall behind
Apple’s counterpart and supports both Unity 3D and Unreal Engine.
- Motion tracking
- Flat surface recognition
- Lighting estimation
- Environmental understanding
Vuforia is a powerful tool for creating AR apps for both Android and iOS platforms. Originally Vuforia was a standalone company but in 2015 it was acquired by PTC Inc. The SDK is still known by the same name, and the latest version goes by the number of 8. One of the advantages of this SDK is that it works with mixed reality gadgets (e.g., Microsoft Hololens), not mentioning that all smartphones with a rear-view camera are compatible with this tool.
Vuforia is a marker-based tech, which requires less computation because digital imagery is tied to a certain anchor (marker) in the real world. Some may argue that markerless AR is better, but this SDK allows developers to create amazing AR apps with an immersive experience. Precise tracking of volumetric objects present in surrounding environments makes possible various manipulations with virtual objects, adding advanced 3D models and other visuals to the real world.
- Flat surface recognition
- Image targets
- Object targets
- Unity engine extension (with a variety of APIs: Java, C++, .NET, etc.)
This is one of the “elder” SDKs on the list. It has been shown to the world in 2008 and today remains a popular choice for cross-platform AR applications. The first iteration was based on the Wikitude World Browser, which let developers create decent AR experiences for the time. After four years of evolution, the Wikitude SDK received features for image recognition, geolocation, and tracking. The latest versions also include video overlays, location-based AR, and 3D model rendering. You can import 3D models created in other programs (e.g., Autodesk Maya).
Today companies use this SDK for building native/hybrid AR applications with iOS, Android, JS, or Xamarin development tools. For AR games that require advanced graphics developers often use tools provided by the Unity engine. Furthermore, Wikitude is compatible with ARKit and ARCore, so if you need to access the native features of those SDKs, you can do so. Wikitude supports devices not just on Android and iOS but on Windows Mobile as well.
- Object and scene recognition
- Instant tracking
- Multiple image recognition
- Cloud recognition
- 3D model rendering
An engine for developing AR experiences straight from China that was created by VisionStar Information Technology Co. A decent choice for creating Android and iOS AR apps. Available in two versions – Basic and Pro. The first one is free to use but lacks some features that can make the developer’s life easier, for example, screen recording. Nevertheless, it is still a good choice for beginners as this package offers lots of other stuff including advanced APIs, enhanced compatibility, and surface tracking.
EasyAR Pro is packed with more functions such as multi-type target detecting/tracking and 3D object tracking. In order to use the Pro version of EasyAR, you have to buy a license key that costs $499. A trial is available for everyone but it is limited to 100 times uses daily. Both packages support Unity 3D.
- Planar image tracking
- 3D object tracking
- SLAM (surface tracking)
- Cloud recognition
This SDK was designed to work with both markerless and marker-based technologies for creating Android and iOS AR applications. Unfortunately, it is limited to the mentioned operating systems but tries to compensate that shortcoming with the Unity 3D support. Kudan supports surface tracking and has no problems recognizing 3D images as well as flat images in 2D. The heart of this SDK is the KudanCV engine, which comes in handy when you are working with third-party platforms. Also, it has a very low impact on memory footprint.
Kudan is available in three versions: AR Indie (free), Business, and Enterprise. The difference between the first two in terms of money is $1500. And if you choose the second option, you won’t have to deal with watermarks. The Enterprise version is the “go-to” option for companies with a revenue capacity above 1 million US dollars, pricing is flexible.
- Designed for creating mobile AR apps
- Supports both marker-based and markerless technologies
- Highly configurable
- 2D and 3D image recognition in the same app
Another guest from the East, developed by south Koreans from the MaxST company. This SDK prioritizes Nature Feature Tracking over the marker-based approach. With MaxST developers can create AR applications for Windows and Mac OS computers. This distinguishes the SDK from some competitors that focus only on mobile operating systems. Just like many other solutions on this list, MaxST supports Unity 3D.
The company offers flexible prices for their product. There are three possible options with four plans to choose from: Free, Pro (subscription or one-time fee), and Enterprise. The basic version is intended for non-commercial use and contains watermarks. The difference between subscription and one-time payment in the Pro segment is justified by the addition of the cloud recognizer feature, ability to recognize massive target images, and updates for AR functions. For all these functions (including the basic ones, of course) you will have to $599 annually, while the buy-to-use version costs $499.
- 2D image tracker
- Instant tracker
- Visual SLAM (adds 3D objects to a real environment)
- 3D object tracker
- Cloud recognition (available in the Enterprise version and for Pro users with subscription)
ARToolKit is a true veteran of the industry. The first version of this kit was developed by ARToolWorks in 1999. The company was acquired by DAQURI sixteen years later along with the ARToolKit that became available as an open-source project. You can find the source code for this SDK (as well as other compiled SDKs) on Github. It is rather rare these days to find an open-source tracking library that will enable you to create virtual imagery for AR project overlays. The SDK also works with Unity 3D through a plug-in.
ARToolKit supports Android, iOS, Linux, and Mac OS. There is another lightweight and user-friendly version of this SDK called ARToolKit+. It is a successor of the original tool being actively developed by ARRevery.
- Natural feature tracking
- Camera calibration
- Marker recognition
- Stereo+optical see-through support
A startup project turned out to be a popular AR platform, DeepAR focuses on face lenses, visual effects, and masks that you have probably seen on Facebook or on Snapchat. This SDK allows creating apps not only for iOS and Android but also works well with desktops. Unity 3D and HTML5 support are included.
Main advantages of DeepAR is its simplicity of integration into new projects and a wide array of lenses, filters, and masks for building AR applications that can “play” with human faces. If you need the best facial detection available, you should consider using this SDK. DeepAR is fast, precise, reliable, and has no problems with recognizing more than 70 facial features. Moreover, the developers have also implemented emotion recognition functions that work in real-time detecting main human emotions such as fear, sadness, anger, happiness, etc.
- Face recognition
- Face tracking
- Emotion detection
- Mobile optimized AR imagery
ARmedia is an AR solution developed by the European company called Inglobe Technologies. Their platform has more than 40k registered users and counts more than a quarter of a million mobile app installs. The list of supported platforms is limited to Android and iOS so far, but the company promises to deliver two more versions of their SDK for Windows and Mac OS soon. As for integration with authoring environments, ARmedia works with Open Scene Graph and Unity 3D.
Rendering and tracking modules available in this SDK use a wide range of methods for image recognition and tracking: Location/Motion Tracking, 3D Object, and Planar. With the power of ARmedia your apps can recognize locations, planar images, and 3D objects of various forms and sizes. Inglobe Technologies offers three subscription plans for you to choose from Entry (one month - 1000 €), Pro (6 months - 2500 €), and Business (12 months - 3500 €). The difference between these packages is in the limited number of 3D target creations. Depending on the package chosen, you get 30, 200, or 500 accordingly. Another bonus is their email support.
- 3D object recognition (+tracking)
- Planar image recognition
- Motion tracking
- Rendering engine
Today’s State of AR Technology…
…you really have to stick with the best choices available instead of waiting for a breakthrough in the nearest future. And even it happens, who knows how long would it take for new SDKs to appear? Most companies continue to improve their tools for AR development by adding new features, new versions, enhance compatibility, etc. If you feel overwhelmed with this variety of instruments and cannot decide which one to pick for your project, feel free to reach our experts with the detail of the AR app you want to build. With our experience and your idea, we can find the best solution that will work!