It is true that AR has birthed some hit projects. However, we can consider it to still be in its infancy stage. Many industries, like marketing and retail, e-commerce, education, healthcare, etc, are coming to realise how they can adopt this technology in what they do. The good thing about this is that it is generating more demand for developers who can help brands deploy AR for their business needs. If you are considering a career as an AR developer, the potentials are huge, and this is just the beginning. Let us explore what it takes in this article.
Basic Components of an AR Experience
If you understand the core of augmented reality, you would know that it is basically about overlaying the real world with layers of digital data, which are more often presented in 3D models that can be interacted with virtually.
This clearly gives us three basic components that should constitute any AR experience, and they include:
Assets: Assets refers to the digital content that has overlaid and displayed to the user. They are mostly 3D models, and can include animations, audio, etc.
Interactions: User engagement is at the core of augmented reality; hence, there have to be actions that can be taken by the user on the digital objects/information being displayed.
Environment: What differentiates AR from VR is the fact that AR does not snatch us momentarily out of our present world into a completely virtual one. AR brings digital content to our real-world environment. So, this environment where the assets will be displayed and interactions would take place, ought to be factored into the development process.
Basic skills you need
Having seen the core constituents of an AR experience, we can establish the basic skills needed to get the job done. At the heart of it all is 3D modeling. This is because creating AR apps is quite similar to creating 3D games, and the assets you’ll be working with are mostly 3D models.
So, a good place to start is by learning about the following
- 3D modeling, terminologies and how to create user experiences in 3D.
- SDKs (software development kits)
- Game engines
- Programming languages
- Understand the concept of User interface (UI)/User experience (UX) for AR.
Since assets are very important in developing anything in AR, you’ll need to start bothering about them from the outset. And because we are talking more about 3D models here, you have two options: make them yourself or find ready-made models to use.
The second option is the easier one to go with. It’s okay to start from there at the beginning. Here are some sites where you can find them at:
However, to have more control over the models you use, you would need to learn how to make your own models (or, at least be able to make modifications to suit what you want).
Software Development Kits (SDKs)
A Software Development Kit is a set of tools that can be used for creating applications. It provides you with tools for adding the functionalities that should typically be part of the software you’re creating. Sometimes, using a certain kit is critical when you want to build an application for certain platforms. At other times, you may be able to choose from a number of SDKs.
For creating an augmented reality app, there are several toolkits out there that you can choose from. Some are free and some have to be paid for, and they offer various features which could affect your choice. More so, some are best suited for certain platforms/devices.
Here are the top SDKs to consider
Platforms supported: iOS, Android, Universal Windows Platform, Unity.
Pricing: Basic – $42/month; Basic + Cloud – $99/month; and Pro version for robust AR applications.
Platforms supported: Android, iOS, Windows, Smart Glasses (including Google Glass, The Epson Moverio BT-200, and the Vuzix M100).
Pricing: SDK Startup – free; Wikitude Demo (30-day license for demonstration purposes) – €499; SDK Pro – €1990; SDK Pro 3D – €2490.
- ARKit (Apple’s AR SDK for iOS)
Platforms supported: iPhone 6s and later versions; also supports iPad Pro 9.7 and later versions.
- ARCore (Google’s AR SDK)
Supports Android 7.0 or later; also supports iOS (ARCore requires an ARKit compatible device running iOS 11.0 or later).
Programming Languages and Game Engines
A game engine is a software that allows you to easily build games and apps by providing tools and features for building your game, so you don’t have to code every bit of it from scratch.
There are several game engines, though a few are more popular in the market. To use a game engine for AR development (or for any other thing you want to create), you would still need to know some programming languages with which you will code your project.
When it comes to AR development, the most common programming languages used are C# and C/C++.
The most common game engines for AR are:
- Unity3D (uses C# as its programming language)
- Unreal Engine (uses C++)
Career Opportunities for AR Development Experts
Although the technology is still growing in its popularity and use, there already exists a wide range of opportunities for AR developers. This is due to the fact that more industries and brands are seeing the need to deploy this technology, hence, creating more opportunities for developers.
Here are some industries where you can look to work in/for:
- Advertising, marketing and sales (you can create AR campaigns, AR product apps for testing products like the IKEA app, etc)
- Education and training (e.g creating AR apps for the classroom)
- Gaming (this one is popular; you can create games like Pokemon Go)
- Social Media (like the Snapchat filters, there are many other things that can be created for social media using AR)
- Automotive and navigation (from creating car models, to improving driving experience, navigation directions, etc, the automotive industry has a growing need for AR)
- Entertainment (things like holograms and other AR experiences are becoming popular in the entertainment scene)
The future of AR app development is huge, and this is because the future of app development itself is AR. There is going to be more shift towards augmented reality, and it will soon become a norm for almost every app to have the feature.
So, if you are an AR app developer or you are considering becoming one, you are on the right track. This is still a good time to learn.