Author: Dima Titov
The only constant in Augmented Reality technologies is that there is constant change: AR technologies keep evolving. They keep updating. They shadow the ever-changing smartphone and tablet hardware. And, they hop on board newly introduced technologies.
These constant changes enable software developers to regularly improve apps creating a trend in mobile development.
Why does it matter? With no updates of Augmented Reality SDKs, the once-new and exciting AR toys and games quickly become boring and obsolete.
Cutting edge is where the action—and profits—are.
Developers need to keep pace with this ever-changing atmosphere. They need a solid and stable development platform to support AR apps and introduce new features to users.
To keep up with the frenzied pace of AR app development, developers rely on AR software development kits (SDKs), a.k.a. dev kits, to provide a set of tools, libraries, relevant documentation, code samples, processes, and/or guides to develop apps on specific platforms.
Why does Augmented Reality SDK matter?
AR development tools appertain to different levels of development complexity. Let’s connect the dots between a library, a framework, an SDK, and an IDE.
Library is a file with source code that accomplishes one task and can be reused.
Framework presents architecture providing general functionality that can be changed later or extended with custom code. Frameworks provide “a skeleton” for a future app which a development team fills in with “organs and muscles.”
SDK (Software Development Kit) or dev kit is a set of tools developers use to create apps. SDKs boost development time by adding various features to the app and porting the source code to the desired web and/or mobile platform.
IDE (Integrated development environment) is what software programmers use to develop software.
First things first: Unity. Unity is one of AR developers’ basic tools. Unity is the standard to which all other tools must meet—the basic comparison criteria for the list below. The question must always be asked: can a certain AR framework or SDK be supported by Unity or not?
There is Unity. To succeed, there is no option #2.
Unity remains the most popular AR/VR/MR platform in use today and one of the most advanced game engines available. Over 90% of HoloLens AR experiences have been made using the Unity platform. Using Unity, third-party hardware manufacturers can easily create their own plugins and SDKs.
Speaking at the Augmented World Expo in Silicon Valley, Tony Parisi, Head of Unity Technologies’ VR/AR Strategy, confirmed Unity’s strong belief in immersive reality’s continued growth. This includes the company’s plans to continue investing heavily in AR research and augmented reality development.
Recently, optimized-graphic rendering combined with speed and look—crucial for mobile devices—keeps Unity in the top spot as developers’ favorite. Recently, Unity has improved rendering to create the best combination of speed and look—imperative for mobile devices.
A possible downside using Unity? Unity is resource intensive.
Unity’s considerable CPU usage noticeably slows down performance of some applications performance. Unity apps need elaborate architecture to overcome this drawback.
Augmented Reality SDK comparison
Usually, SDKs support certain integrated development environments and programming languages. Each kit focuses on a specific industry, e.g., gaming.
Developers choose an AR development platform based on the desired outcome of a future app (commerce, gaming, demo, etc.) and the app’s feature list. The main selection criteria also include:
- License type – free SDK or free versions of commercial SDKs usually have a limited number of features or limits on the usage of these features.
- Programming language – Java, C++ or C#. All else being equal, the development team chooses the language they have already mastered.
- Supported platforms – this is crucial. Does your app target smart glasses like HoloLens or DreamGlass, Android or iPhone X? The development platform must reflect this.
The eleven most up-to-date AR development tools favored by designers and developers are discussed below. It’s all about making life a bit easier for developers, taking the drudge away, and letting creativity loose.
|Price||Free, Commercial||Free||Free, Commercial||Free, Commercial||Free, Commercial||Free|
|Platform Support||A, iOS, W||A (iOS)||A, iOS||A, iOS,W||A, iOS, W||iOS|
|Smart glasses support||yes||yes||–||–||yes||yes|
|Price||Free, Commercial||Free, Commercial||Free, Commercial||Free, Commercial||Free|
|Platform Support||A, iOS, W||A, iOS||A, iOS||Lumin OS||Web|
|Smart glasses support||–||yes||–||yes||–|
Vuforia is designed to create AR applications for mobile devices. Vuforia’s Augmented Reality SDK uses computer vision technology to identify and track in real time image targets and basic 3D objects. Vuforia is compatible with Android, iOS, UWP and Unity Editor platforms. One of Vuforia AR SDK’s primary benefits is its simple setup procedure. This makes it easy to create a development environment, install the correct SDK version, and build an application. The basic, free version of Vuforia includes Vuforia watermarks and a minimum set of tools. Included with Vuforia’s paid plans are features like advanced camera, enhanced support and more. Using images, such as cubes, cuboids, or cylinders as targets, Vuforia closely mimics 3D tracking. By increasing the number of tracking methods, Vuforia might become a more competitive player for the top spot.
Kudan uses its proprietary SLAM (Simultaneous Localization and Mapping) technology to concurrently localize a sensor in relation to its surroundings while mapping a 3D structure of the surrounding area. Kudan has licensed SLAM to outside development partners in several emerging technologies including drones, robotics and self-driving cars. SLAM can be used with any camera or sensor. Its tracking accuracy on smartphone cameras is accurate down to mere millimeters. The high-speed / low-consumption system uses less than 5% of a mobile device’s CPU and continues to function under extreme lighting conditions. Kudan offers developers a free version of its AR SDK for testing. A production license costs £1,000 per application per year.
EasyAR is offered in both a free basic version and a Pro version at a $499 licensing fee that starts from 100 uses per day. Winner of the 2016 World Augmented Reality Expo’s Best Software Award, EasyAR is capable of simultaneously recognizing and tracking multiple 3D objects in real time. Available in versions for iOS and Android, EasyAR can be used with both PCs and mobile devices. Other benefits include the absence of watermarks and no irritating time limitations. A possible downside: some users have reported difficulties with EasyAR’s image stability.
Contact our AR development team to discuss your project
Maxst specializes in providing AR software solutions for a variety of industries including fashion, publication, travel & leisure, and advertising. The company launched their first Augmented Reality SDK in South Korea. Later it created and introduced the AR Virtual Fitting System which gave shoppers an opportunity to virtually try on clothing and apparel before making a purchase. Other Maxst products and services include image processing, Augmented Reality tours, and AR games. Like its competitors, Maxst also provides Cloud recognition and SLAM support.
Onirix is an AR platform that provides different tools needed to build all AR app components for all possible use cases.
Onirix SDK also opens access to Onirix Studio (it can be also used as a stand-alone product). Onirix Studio is special software that provides functionality needed to design, publish, and host AR content. Apart from 3D models and sounds, Onirix Studio makes it possible to design complex scenes, share them with others, and test the results immediately.
Onirix supports ARKit, ARCore, and Tango striving to cover a reasonable number of smartphones and tablets.
This Italian startup is focused on research and development of their own tracking and recognition system, as well as image recognition algorithms and deep learning.
Pikkart provides its own AR SDK compatible with all major platforms.
Pikkart offers several distinctive features. Its AR Logo technology makes it possible to associate one image with different AR experiences. A special CMS helps manage markers and content in a simple way. With location-based markers, it is possible to combine navigation and Augmented Reality. Also, Pikkart provides cloud hosting for rapid app scaling.
This AR SKD is now provided by BlippAR and targets commerce AR solutions. Layar SDK helps create a company’s own branded AR apps and match them to offline brand image. Many global brands, such as Coca Cola, Honda, Elle, Procter & Gamble and others, have enjoyed collaboration with Layar as an AR-based customer experience.
Developers can integrate an AR module into existing apps using Layar SDK when such apps contain custom features. Also, Layar provides advanced analytics system on app usage by different user groups.
The company provides different licensing options, developer documentation, and support.
Magic Leap—one of the most-rumored AR hardware startups—successfully delivered its Magic Leap One in June 2018 and continued working on its ecosystem.
Apart from its head-mounted display, Magic Leap also offers Lumin OS and Lumin SDK to simplify software development for its custom gear.
This AR SDK is compatible with both Unity and Unreal Engine to ensure comfortable development workflow. Also, Lumin SDK gets regular performance improvements and new features. It even offers a library for spatial 3D web experiences. Lumin strives to provide the same or higher level development tools than other SDKs for smartphones and MS HoloLens provide.
This framework makes Augmented Reality apps available right from the browser. It is a version of ARToolkit specially ported to a web browser. The development team promises compatibility and high performance across all browsers that use WebGL and WebRTC.
A working demo of an AR app is available just after several lines of HTML code. AR.js is an open source product free to use for everyone.
The benefit of AR.js for users? No need to install an app. Users need only scan an AR-Code with a phone camera to reach the content.
Use it for prints, ads, and short-term marketing campaigns with tight budget limits.
ARCore is tech giant Google’s framework for creating Augmented Reality applications intended to compete with Apple’s ARKit. ARCore replaces Tango toolkit which was originally meant to develop AR applications on special hardware equipped with depth-measuring sensors. ARCore started as an updated and improved version of Tango, but without the need for specialized hardware. According to Dave Burke, Google’s Android Engineer VP, the company hopes to capture 100 million Android devices. This is 5% of the estimated 2 billion active Android devices in use by the end of the preview period.
Also, ARCore makes multiplayer games possible and supports some iOS devices, including iPhone SE, iPhone 6S, iPhone 7, iPhone 8, and iPhone X.
ARKit is Apple’s counterpart to Google’s ARCore. It is designed to make use of iPhone/iPad hardware. It was presented at WWDC 2017 as a tool to create unprecedented native AR iPhone/iPad apps and to compete with other tech companies like Facebook, and Microsoft.
ARKit supports major AR engines like Unity, Vuforia, Unreal Engine, and others.
Being a raw technology at the beginning, ARKit gets constant improvements, from detection of 2D objects, screenshots and photos in ARKit 1.5 to persistent experience (users can resume later), shared experience (AR multiplayer is now possible), and object detection and tracking (to incorporate movable objects into AR experiences) in ARKit 2.
Brand-new ARKit 3 is capable of multiple-face tracking, collaborative sessions, simultaneous tracking of front and back camera, and more.
To sum up, there is no such thing as a one-fits-all “best” AR SDK today. Each has its own advantages and shortcomings. As with all else in the digital world, significant advancements are being developed and introduced almost daily.
How can you determine the “best” AR development tools for yourself? Follow these tried and true steps:
- Take time to write your requirements for your future app.
- Set your goal.
- List the features in order of importance
Using these steps, Invisible Toys examines what technology will work best on the estimated project, and what frameworks or libraries will be needed for optimal budget and timeline.
Invisible Toys team can handle complex projects. Challenge them.
FEATURED IMAGE: Shutterstock
you may also like
Nice job, Dima. I want just to add some thoughts on why we did not include Unreal Engine.
The truth is because our AR developers use Unity.
The fact is that Unreal Engine is a great, powerful tool, too. It is suited for sophisticated, highly detailed scenes. It has better rendering and lower usage of resources.
However, with its licensing types and steep learning curve (Unreal Engine uses C++ while Unity has C#) it mostly used for projects with six to seven digits budgets. It is not as comfortable for fast prototyping as Unity is.
Another reason to opt for Unity a bigger community and as result availability of plugins and an asset store.
But I cannot stress it enough that both engines are great for their use cases.
What is your team’s top choice?
Hi Tamila,It depends ☺. Sorry for this answer but this is true. You know different SDKs have different advantages. If they were universal, they would probably not survive and compete. Our developers recommend technologies that suits best a project based on the list of requirements as it varies heavily from case to case. If you have any doubts on what you need feel free to ask for a consultation. Best regards, Dima.
How much time is needed to make an AR quest game?
Thanks, this is a tricky question. It really depends on what you plan. When you want a demo with 1-2 scenes, we can do it within a month. If you have a scenario of a complex app with several features and want to engage users using social network, it can take 3-5 months and in rare cases longer. Check this out: https://invisible.toys/create-augmented-reality-apps/augmented-reality-app-development-cost/ And do not hesitate to contact us when you still have your questions unanswered. Here is the email: firstname.lastname@example.org and phone number: +49-1575-366-9179
Have a good luck with your app idea!
Interesting compilation! What was the basis of selecting exactly these SDKs out of all the different ones in the market? E.g. we're kinda sad that our Catchoom CraftAR Augmented Reality SDKs were not included and would be flattered to be added to lists in the future and hear your thoughts. Also, I agree with Kile, including ARCore but not ARKit made me wondering why it was left out, too. Thank you.
Thank you, really interesting information .It would be great to know which applications on which platforms was written.
Fantastic review , but what about ARKit?