What is an Augmented Reality SDK (Software Development Kit)?
The progress made by AR technology over the past few years is outstanding. 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 recognize 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:
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.
- Space recognition
- Object detection
- Lighting estimation
- Multiplayer support (ARKit 2.0 and 3.0)
- Persistent AR experience
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.
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
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.
The main advantages of DeepAR are 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.
- 3D object recognition (+tracking)
- Planar image recognition
- Motion tracking
- Rendering engine
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.
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.
- 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)
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.