Author: Dima Titov
The only constant in technologies for Augmented Reality app development is that they keep evolving and updating, shadowing the ever-changing smartphone and tablet hardware plus hopping 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, any once-new and exciting AR toys and games quickly become obsolete. To keep pace with this ever-changing atmosphere, developers need a solid and stable development platform to make it possible to support these AR apps and to introduce new features to users.
To keep up the frenzied pace of AR app development, developers rely on software development kits (SDKs) or devkits to provide a set of tools, libraries, relevant documentation, code samples, processes and/or guides to develop apps on specific platforms.
The seven 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 the developers, taking the drudge away and letting creativity loose. (After reading about the seven, which do you think our own Augmented Reality app development team chose? Which one would you choose?)
Why does an Augmented Reality SDK matter?
First things first. AR development tools belong to differing 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 devkit 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 onto the desired web and/or mobile platform.
IDE (Integrated development environment) is what software programmers use to develop software.
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.
Comparison of AR platforms:
First things first: Unity is one of AR developers’ basic tools. It is not an alternative but 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?
Unity remains the most popular AR/VR/MR platform in use today. Over 90% of HoloLens AR experiences have been made using the Unity platform. One of the most advanced game engines available, Unity supports 27 platforms, including Oculus Rift, PlayStation VR, Gear VR and Google’s Daydream View. Using Unity, third-party hardware manufacturers can easily create their own plugins and SDKs. A possible downside is that Unity is resource intensive: Unity’s considerable CPU usage can noticeably slow down some applications performance.
Speaking at 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 graphics 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.
|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|
Designed to create AR applications for mobile devices, Vuforia’s Augmented Reality SDK uses computer vision technology to identify and track image targets and basic 3D objects in real time. Vuforia is compatible with Android, iOS, UWP and Unity Editor platforms. One of Vuforia’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, and its tracking accuracy on smartphone cameras is accurate down to 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 for testing. A production license costs £1,000 per application per year.
Contact our AR development team to discuss your project
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.
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 try on clothing and apparel before making a purchase. Other Maxst products and services include image processing, Augmented Reality tours and AR games. Downside: Maxst, doesn’t offer Geolocation, Cloud recognition or SLAM support.
ARCore is tech giant Google’s framework for creating Augmented Reality applications intended to compete with Apple’s ARKit. ARCore replaces Google’s recently discontinued Tango tool kit which was originally meant to develop AR applications on special hardware equipped with depth-measuring sensors. The recently released preview version of ARCore is basically 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, the new ARCore 1.2 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 for Google’s ARCore 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.
After an update, based on developers’ feedback, ARKit 1.5 can better recognize surfaces. It also enables detecting 2D objects and interacting with them. Additionally, screenshots and photos with AR objects are more vivid and vibrant.
In September 2018, Apple plans to release ARKit 2 together with new iOS 12. Included will be new features like 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).
There is no such thing as a single “best” AR platform 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 to the future app.
- Set your goal.
- List the features in order of importance.
Using these steps, Invisible Toys team has favored Unity for AR app development due to its extensive feature list, wide support of AR platforms, and target programming language. Because of the team’s previous experience of coding using C#, it was easier to master Unity development, thus being able to handle complex projects.
FEATURED IMAGE: Shutterstock
you may also like
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?