There’s something magical about augmented reality experiences, and yet they aren’t that hard to create. AR app designers use so-called SDKs – ready-to-use toolkits that save a lot of time and resources. Here’s our breakdown of five of the best SDKs for AR developers.
Augmented reality is all about placing realistic 3D models in the user’s space. These range from fun Instagram filters, to Google AR animals, to furniture and clothes. There’s an awful lot of code packed into each AR experience, but luckily, developers don’t have to do all that coding themselves. Instead, they just have to pick a suitable software development kit and let their creativity run free.
If you’re a designer and would like to give AR a shot– or if you’re just curious about how AR apps are made – then our little guide is for you.
Wait, what’s an SDK?
SDK stands for “software development kit.” It’s a package of tools that allows developers to build new apps using existing third-party technology. An SDK comes as a single installable package and includes various APIs, libraries, code samples, debugging utilities, documentation, tutorials, etc.
Without such kits, it would take even an experienced developer weeks to build something as simple as a social AR filter. By contrast, thanks to SDKs, a professional agency like ARzilla can design a fun filter in just a few days – such as this cool virtual try-on that ARzilla created for an eyewear store:
Every SDK is platform-specific: you’ll need different kits to build Android, iOS, MacOS, etc. versions of the same product. But an augmented reality SDK isn’t the only thing you need to build an AR application: in fact, the average Android app uses around 18 (!) different SDKs. For instance, if you’d like your users to be able to take a selfie with the AR 3D model in your app and share it directly to Facebook, you’ll require the Facebook SDK, too.
Now that we’ve got the basics covered, let’s compare five of the leading AR SDKs.
ARKit is more than just an SDK: it’s a whole framework for developing native AR apps for iOS. Its release in 2017 was a real revolution in AR, and since then, Apple has consistently updated and improved the SDK. The only downside is that apps created with ARKit can only be used on Apple devices – see here for a comprehensive list.
One of ARKit’s key strengths is the use of machine learning to detect and recognize surfaces, such as floors, walls, tables, etc. So, if the 3D objects in your app include, say, a cow and a potted flower, the cow will be placed on the floor, while the flower will appear on the table.
Another cool feature is occlusion: AR objects can appear both in front of and behind real-world objects and people. If a person in the scene moves in front of an AR object, it will be covered (occluded) by the person’s body – a very important condition for creating a realistic illusion.
Note that ARKit isn’t free: it costs $99 a year.
This is Google’s response to ARKit, also launched in 2017. In a way, it’s more inclusive because apps created with ARCore also work on iOS devices. Here’s a full list of compatible phones and tablets.
Just like ARKit, ARCore is great at tracking movements in real time, identifying various surfaces, and analyzing light conditions. One area where Google’s SDK is superior is mapping. ARCore stores more location data and tracks more points, so if the user directs the device away from the original scene and then returns to it, the scene is easier to recreate.
Another thing that makes ARCore special is its multiplayer mode: visualizing the same 3D objects in the same place on several devices at the same time. This is possible thanks to each object’s anchor being stored on the cloud (read more on cloud anchors here).
3) 8th Wall
WebAR is the name of the game here – and we at ARzilla believe that web-based AR is the future. No need to download any apps: just scan a QR code or click on a link and enjoy an AR experience right in your browser! Such content yields better engagement and tends to go viral faster.
We specialize in WebAR, so we are particularly fond of 8th Wall. The SDK allows you to do more or less everything you can do with ARCore/ARKit, only it works with web pages. You can even integrate hologram videos:
A WebAR experience may not be as smooth as that in an app, but as mobile internet becomes faster, this difference will disappear.
ARCore is also completely free to use.
Granted, Vuforia is far behind ARCore and ARKit when it comes to surface recognition and motion recognition. It doesn’t even have proper 3D tracking. Plus, it’s based on markers – an older solution that requires less computational resources (the future of AR is markerless).
However, Vuforia has an ace up its sleeve: it can leverage both Apple’s and Google’s AR frameworks when it runs on devices compatible with them. Thus, by using Vuforia, a developer gains access to several AR toolkits at once.
Just as importantly, experiences created with Vuforia can be viewed on just about any smartphone, including those not certified for ARCore and ARKit.
It costs $99 a year to use Vuforia.
Banuba’s SDK is called Face AR, and indeed it’s one of the best kits for building face-centered experiences that require 3D movement tracking. Snapchat and Instagram filters are the first things that come to mind, but the applications of Face AR go much further. For example, it allows e-commerce sites and brick-and-mortar stores to let users try on makeup – something we’ve written about in an earlier post about AR in the beauty industry:
One particularly interesting feature of Banuba is its AR video editor, which lets users add augmented reality effects to TikTok-style videos:
Of course, there are many more high-quality AR toolkits out there, so this post could be much, much longer. Honorable mentions should go to Facebook’s Spark AR, EasyAR, ARToolKit, Wikitude, AR.js, Kudan, and many others.
If you’d like to build an AR experience but aren’t sure which SDK is best for your needs, drop us an email at firstname.lastname@example.org – we’d be happy to share our experience!