In previous posts I have explored from a high level the types of hardware and software that are required to produce augmented reality experiences. In my next few posts I will cover the companies and products in this space. Specifically, in today’s post I will be running down the software development kits (SDKs) available to developers to create AR experiences.

Wikipedia defines an SDK as a set of development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform. It may be something as simple as an application programming interface (API) in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an integrated development environment (IDE). SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.

In my research on SDKs, I identified scores of different tool kits before coming across a more comprehensive list created by Gerhard Reitmayr when he was a professor of Augmented Reality at the Graz University of Technology. Gerhard has graciously permitted me to reproduce his work. This list was further enhanced by Nils Davis on the Social Compare site where it has been opened up to crowd sourcing. The list I present below has been further curated by adding additional SDKs identified in my own research; excluding entries that represent service offerings rather than licensable software; excluding products in development that have not yet been officially released; excluding products that were once licensable but have since been acquired by other entities who no longer offer the license publicly; excluding products that are no longer being supported by the developer or open source community; excluding proprietary solutions that are not available to developers under any licensing model. I have further enhanced the list by providing a brief description of each offering.

The result is a comprehensive list of SDKs that you can use today to build your own augmented reality solution. Feedback by the development community is invited to provide additional SDKs that meet the above criteria or updates on the kits I have posted about.

3darFree, Commercial SDKiOSGPS, IMU SensorsThe 3DAR SDK is distributed by Spot Metrix, Inc.
Designers ARToolkit (DART)Free, Closed sourceOSX, WindowsMarker, ContentAPI, TrackerInterfaceThe DART is a set of software tools that support rapid design and implementation of AR experiences and applications. DART is designed to facilitate the complete design and development process, from initial concept through experience and content testing to final product delivery.
BeyondARFree (Apache)AndroidGPS, Marker, IMU SensorsThis platform has been designed to offer some resources to those developers with an interest in working with AR based on geolocalization on SmartPhones and tablets. With a few lines of code it is possible to create 3D objects in the world and see them through the camera.
CatchoomFree, Commercial SDKAndroid, iOSVisualSearchThe SDKs licensed by Catchoom Technologies offer tools to connect your branded mobile application with the CraftAR service in the cloud.
AndAROpen SourceAndroidMarkerAndAR is a project that enables AR on the Android platform. ARToolworks offers commercial licensing for the underlying ARToolKit.
DroidAROpen SourceAndroidMarker, GPS, IMU SensorsDroidAR is a framework for AR on Android. Location based AR and marker based AR are both possible. This framework can be used for many different scenarios.
WindageOpen SourceWindowsMarker, NaturalFeatureWindage's personal projectwindage librarywindage library is C++ library for AR.
BazAROpen SourceLinux, OSX, WindowsNaturalFeatureBazAR is a computer vision library based on feature points detection and matching. In particular, it is able to quickly detect and register known planar objects in images.
DAQRIFree, Commercial SDKAndroid, iOSVisualSearch, ContentAPI, NaturalFeatureDAQRI is a vision-based AR platform that allows for maximum flexibility of both content and distribution. It offers the first enterprise-class AR solution designed to empower organizations to visualize technical assets interactively in 4D with a cloud-based data system.
VuforiaFree, Commercial SDKAndroid, iOSMarker, NaturalFeature, VisualSearchVuforia is the software platform that enables the best and most creative branded AR app experiences across the most real world environments, giving mobile apps the power to see.
PanicARFree, Commercial SDKiOS, AndroidGPS, IMU SensorsPanicAR is a native framework, with highly focused functionality, completely customizable. It's affordable and easy to integrate in any app.
Goblin XNAOpen SourceWindowsMarkerGoblin XNA is a platform for research on 3D user interfaces, including mobile AR and virtual reality, with an emphasis on games. It is written in C# and based on Microsoft XNA Game Studio.
Win ARFree, Commercial SDKWindowsNaturalFeatureWinAR is a Windows-based development platform for AR applications. It provides camera image streaming, image processing, tracking algorithms, registration algorithms, and user interaction panels to developers in an object-oriented environment.
MXR ToolkitOpen SourceMarkerThe MXRToolkit consists of a library of routines to help with all aspects of building mixed reality applications. The philosophy of the SDK is to keep the interface extremely simple.
NyARToolkitOpen Source, Commercial SDKAndroid, Linux, Windows, FlashMarkerAndroid based AR kit
osgARTOpen SourceLinux, OSX, WindowsMarker, NaturalFeatureosgART is a cross-platform development library that simplifies the development of AR or Mixed Reality applications. osgART combines computer vision based tracking libraries (e.g. ARToolKit, ARToolKitPlus, SSTT ) with the 3D graphics library OpenSceneGraph.
PRAugmentedRealityFreeiOSGPS, IMU SensorsiOS AR Library with Drupal communication module
SLARToolkitOpen SourceWindows Mobile, WindowsMarkerSLARToolkit is a flexible AR library for Silverlight and Windows Phone with the aim to make real time AR applications with Silverlight as easy and fast as possible.
SSTTClosed sourceAndroid, iOS, Windows Mobile, Linux, OSX, WindowsMarker, NaturalFeatureSSTT Bounce is a simple AR Browser, literally. It uses a WebKit based browser and adds fast AR NFT tracking to it.
ALVARFree, Commercial SDKAndroid, iOS, Windows, FlashMarker, NaturalFeatureALVAR is a software library for creating virtual and AR (AR) applications. ALVAR has been developed by the VTT Technical Research Centre of Finland.
ARLabFree, Commercial SDKAndroid, iOSGPS, IMU Sensors, VisualSearchARLab offers an extended portfolio of technological solutions for AR. After years of research and development, ARLab has become a global reference in the industry and supports clients from two locations: Madrid (Spain) and Haifa (Israel).
ArpaFree, Commercial SDKAndroid, iOS, WindowsMarker, NaturalFeature, GPS, IMU Sensors, FaceTracking, IR Tracking, real time renderingArpa Solutions is a global pioneer company developing AR products and applications through ARPA AR proprietary platform Málaga-Madrid-San Francisco
ARToolkitOpen Source, Commercial SDKAndroid, iOS, Linux, OSX, WindowsMarker, NaturalFeatureARToolworks' product line spans 5 operating systems.multiple CPU architectures, 6 languages and a myriad of APIs. In addition, the company handles the commercial licensing to a host of open source variants.
Augmented TechnologiesFree, Commercial SDKAndroidGPS, IMU Sensors, VisualSearchThe Awila SDK enables developers to create AR enabled applications based on geospatial AR technology in a few hours, with just a few lines of code.
AurasmaFree, Commercial SDKAndroid, iOSNaturalFeature, VisualSearchOwned by HP and incorporates their Autonomy image recognition solution. AR experiences are known as "Auras"
Beyond Reality FaceCommercial SDKFlashFaceTrackingBeyond Reality Face Nxt is an easy to use Face Tracking solution for devs and users alike. For developers we keep the API small, clear and unified for all platforms.
DekkoFree, Commercial SDK, Closed sourceiOSSLAMDekko develops 3D mapping and AR (AR) engines that allow apps and users to interact with their real world surroundings.
HOPPALAFree, Commercial ServiceAndroid, iOSContentAPIHoppala Augmentation provides an easy-to-use graphical web interface to create AR contents with just a few mouseclicks and seamlessly publishes content to all three major AR browsers: Layar, Junaio and Wikitude.
IN2ARFree, Commercial SDKFlash, iOS, AndroidNaturalFeatureIN2AR is a cross-platform AR engine that detects images and estimates pose using standard webcams/ mobile cameras. The pose info can be used to place 3D objects and/or videos onto the image and create AR apps or games that can be controlled by movements.
ARmediaFree, Commercial SDKAndroid, iOS, Windows, FlashMarkerARmedia platform is a structured and modular development framework that includes different software modules arranged according to a specific architecture. The framework is independent of both the real-time tracking engine and the rendering engine.
Instant RealityFree, Commercial SDK, Closed sourceAndroid, iOS, Linux, OSX, WindowsMarker, NaturalFeature, GPS, IMU Sensors, FaceTracking, VisualSearch, ContentAPI, SLAM, TrackerInterfaceThe instantreality-framework is a high-performance Mixed-Reality system, which combines various components to provide a single and consistent interface for AR/VR developers. Those components have been developed at the Fraunhofer IGD and ZGDV in close cooperation with industrial partners.
KoozytCommercial SDKAndroid, iOSMarkerFounded by members of Sony Computer Science Laboratories who developed the "PlaceEngine" technology in July 2007. A unique technology that connects the real and the virtual, with an emphasis on human behavior and experience.
FLARToolkitOpen SourceFlashMarkerFLARToolKit is an AS3 ported version of ARToolKit based on NyARToolkit, a Java ported version of ARToolKit. It recognizes the marker from input image and calculates its orientation and position in 3D world.
Metaio SDKsFree, Commercial SDKAndroid, iOS, Windows, FlashMarker, NaturalFeature, GPS, IMU Sensors, FaceTrackingMetaio’s award-winning SDK powers AR apps with new wearable device support, improved visualization, speed and tracking stability.
MixareOpen SourceAndroid, iOSGPSMixare (mix AR Engine) is a free open source AR browser available for Android and iPhone.
OpenSpace3DOpen SourceLinux, WindowsMarkerOpenSpace3D is an Open Source platform for Virtual and AR projects development. Our goal is to democratize real-time 3D applications and provide a tool for all creative minds, not just developers.
ReticleOS SDKCommercial SDKReticleOS (Android)ReticleOS is the Android based operating system created by Osterhut Design Group for their line of smart glasses
RealityCapFree, Commercial SDKiOSSLAMRealityCap gives apps the ability to sense their surroundings in three dimensions by combining computer vision and inertial data to render accurate 6DOF device motion and a 3D point cloud of the environment. It runs on modern mobile devices in real time, with no additional hardware or markers.
Rox Odometry SDKFree, Commercial SDKAndroid, iOS, Linux, OSX, WindowsMarker, NaturalFeatureBuild your applications with high precision camera localization functionalities, working in extreme conditions. Identify pre-recorded objects and get the exact position and orientation of the camera relative to the objects in real-time.
PTAMFree, Commercial SDKLinux, OSX, WindowsSLAMPTAM is a monocular SLAM (Simultaneous Localization and Mapping) system useful for real-time 6-DOF camera tracking in small scenes. It was originally developed as a research system in the Active Vision Laboratory of the University of Oxford.
ATOMIC Authoring ToolOpen SourceLinux, OSX, WindowsMarkerATOMIC Authoring Tool is a project to create a new Authoring Tool. Initially developed for create AR applications and mind maps.
Total ImmersionFree, Commercial SDKAndroid, iOS, Windows, FlashMarker, NaturalFeature, FaceTrackingTotal Immersion offers a commercial AR platform that integrates real time interactive 3D graphics into a live video stream.
ArUcoOpen SourceLinux, OSX, WindowsMarkerA minimal library for AR applications based on OpenCV
WearScriptOpen SourceAndroid (Glass)IMU Sensors, GPS, Speech RecognitionWearScript combines the power of Android development on Glass with the learning curve of a website.
WikitudeFree, Commercial SDKAndroid, iOS, BlackBerry OSGPS, IMU Sensors, ContentAPIWikitude’s all-in-one AR solution includes image recognition & tracking, 3D model rendering, video overlay,location based AR and so much more.
yvisionFree, Commercial SDKAndroid, iOS, Windows Mobile, OSX, WindowsMarkerYVision is a software framework that enables rapid prototyping and development of applications based on Natural User Interfaces. It integrates computer vision, real-time rendering, physics simulation, AR, artificial intelligence, multitasking and more.
iPhone ARKitOpen SourceiOSGPS, IMU SensorsiPhone ARKit is a small set of classes that can provide AR in any iPhone application. ARKit overlays information (i.e. geographic) over the camera's view.
KharmaClosed sourceiOSContentAPIThe KHARMA framework is an open platform that lets users create content using web development tools already in widespread use including HTML, CSS and JavaScript. It uses standard web servers for content delivery which can be integrated into the scene.
UARTOpen SourceiOS, OSX, WindowsMarkerThe Unity AR Toolkit (UART) is a set of plugins for the Unity Game Engine that allow users to easily develop and deploy AR (AR) applications.
MinervaOpen SourceLinux, WindowsMarkerMinerva is a multiplatform framework that provides a high level language to specify AR applications in a very easy way.
LayarFree, Commercial SDKAndroid, iOSNaturalFeature, GPS, IMU Sensors, VisualSearch, ContentAPILayar enables publishers, advertisers and brands to create Interactive Print without hiring expensive developers or installing cumbersome software.
ZappCode CreatorCommercial SDKAndroid, iOSMarkerThe Zapcode Creator's two powerful content creation tools - the Widget Editor and Pro Editor - let you create just about any kind of AR experience you like such as bringing a poster to life with AR powered video or creating a fully interactive, multi-scene AR experience.

8 Thoughts on “14: Augmented Reality SDKs

  1. Francisco Lacueva on June 1, 2015 at 6:03 am said:

    Hi Ron,

    I really find your work really good and it’s helps me a lot of. I think it would be interesting to remove Metaio SDK as it’s going to disappear (temporally?) by the end of the month ( .

    Thanks and best regards.

  2. Luca Conti on July 7, 2015 at 12:26 pm said:

    Cool List,

    what are the most popular, top-5 or top-10?

    thank you!

  3. Pingback: Augmented reality AR | Pearltrees

  4. Priyanka on October 16, 2017 at 11:41 am said:

    Hi, I have made an Shopping app using Android Studio i want to add a feature like virtual dressing(i.e selecting dress n trying to fix onto your photo, applying lipstick etc) to see how it looks on you.. is this possible with unity 5.2 and vuforia 6..? can i import this into my android app..Does vuforia supports face tracking n how it works? In future i am planning to develop this app for ios also.. so please suggest me proper sdk and which set will be suitable for my project ?

  5. hi priyanka,

    my self sruthi, from moback technologies..yeah it is possible…please connect with me

  6. Pingback: Augmented or Mixed Reality libraries and frameworks for Android and iOS – DevelopEx blog

  7. David Jones on June 7, 2018 at 6:54 am said:

    Agree , that if you want to start developing applications of augmented reality, then it’s better to start with some ready-made components rather than reinvent your bike from scratch. Read the updated 2018 list of the best AR platforms and choose the most suitable ( )

Post Navigation