Looking at a list of Augmented Reality SDK’s for my next iPhone app

I have an App idea that will use augmented reality.  First thing is to find a decent SDK that will give great tracking and not try to tie me into some sort of subscription or cloud service.

A partial list of Augmented Reality SDKs available as of 26th September 2016

Title Platforms Language Tracking Price My notes
OpenCV Mobile, Desktop C, C++ Free, BSD License Open Source BSD, tracking looks slow.  Need to prototype on iPhone 7
Kudan Mobile, Unity3D SLAM £1000 per app per year subscription. High upfront price. Requires constant subscription to keep  apps alive. Impressive tracking.
CraftAR Mobile, Unity3D 1990 euros Cloud based?
ARToolkit  Desktop, Mobile, Unity3D C, C# if using Unity, Java, Matlab Open Source (LGPL v3)  Open Source (LGPL v3).  Looks good.  Can be used with OpenCV to improve camera for higher quality tracking.
VuForia  Mobile, Unity3D Objective-C,  C++, C# SLAM  $499 one off Great tracking.  Can use environment tracking (SLAM) too.

This is looking the best route for Unity3D and a possible route if going native Objective-C/Swift.

Unreal4AR Cross platform, mobile Blueprint, C GPLv3, Unreal royalty fee Powered by ARToolkit.  If I need more advanced 3D in my AR this is a possible alternative to Unity3D.

From the above table and reviewing many Youtube videos, I will probably look at going with VuForia and their $499 one off option.  My app will use just one marker and doesn’t need cloud recognition or hundreds of markers (e.g. if I was to have one unique marker per product, like a QR code).

My app needs rock solid tracking, it can not slip, slide or jitter the tracked 3D elements so this is of the highest priority for me. Vuforia has environment tracking to aid in standard marker tracking.   This is a big positive. Next I need to consider if I need to use a 3D engine or not.

Use a 3rd party 3D Engine or go native?

I have not done any SceneKit development as of yet so using a ready made engine like Unity3D or Unreal will reduce some of my development time, Unity3D also has a lot of plugin support for AR.

I need to lay out what a third party 3D engine can bring to my AR app instead of trying to stay native with Objective-C / Swift + SceneKit and spending a couple of weeks reading one of Ray Wenderlich books on the matter.  Actually, that book sounds rather good! Anyway….

Pros for using an engine

  • Cross platform delivery, if my app sells (which it will!) then porting to say Android and others should be much faster.
  • Advanced 3D features: lighting, animation, effects, HMD inclusion, normal mapping etc
  • WYSIWYG 3D, less code to get the basics done in OpenGL / SceneKit

Cons for using an engine

  • Bloats the install size, slower launch time.
  • Reliant on another 3rd party product, additional cost, bugs, complexity.
  • Could slow down tracking speed due to overhead.

If my new app idea turns out to be a winner then I would quickly need to port it to other platforms and add additional features.  The use of a cross platform 3D engine would significantly speed that up. So I will go with Unity3D + VuForia and target iOS.

My research does not stop here.  I now have to read every article on VuForia (especially their licensing terms) and get a good list of resources to help plan out my specification.  My other app Bookmark Reminder Pro will help collate all the websites, articles and forum posts together during this phase.

 

  • Hi! Thanks a lot for taking a look at our Catchoom CraftAR Augmented Reality SDKs. I saw your ‘question’ (or doubt?) in the article, we actually do enable offline Augmented Reality experiences as well, where the reference images and content are embedded in the app running on the device. Until now it was working better when the number of objects & content were limited (while there was no impact on apps running AR online, as they worked fast even on large collections), but we’re just debuting a new combo of our offline (on-device) Image Recognition and AR SDKs, which will combine the benefits of both and will work much faster. I saw you’re interested in Unity3D, we offer an AR SDK plugin for that, too! If you have any questions, drop me an email any time! (And remember, it is completely free while develop, and for that price you can publish an unlimited number of apps forever, so if you think about creating other apps in the future, too, it can be worth giving it a go or at least a free trial…:)

    • Hi Zsofia

      I am going through each AR kit at the moment testing in Unity3D. I have just finished playing with Vuforia in Unity with mixed results so today I am creating an OpenCV test in iOS (no Unity3D).

      As you have taken the time to comment, I will take a closer look at Catchroom CraftAR too.

      Cheers
      Geoff

      • Zsofia Kerekes

        Hi Geoff, how is your “mission” going? Thanks a lot for having considered taking a closer look at CraftAR, too – did you have a chance to do so? If yes, I’d love to hear your product feedback at zsofia (at) catchoom (dot) com. Best and much luck, Zsofia