Augmented Reality has come a long way from a science fiction concept to a more science-based realism. Recently there has been a cliff-drop in the cost of development of Augmented Reality and today AR is even available on a mobile phone.

Both Apple and Google have been investing heavily in Augmented Reality, evident with the development of ARkit (by Apple) and ARCore (by Google). These ground-breaking technologies have brought the power of AR to the hands of individual developers which was not conceivable a few years ago.

According to this article on HackerNoon, by 2025, the size of augmented reality and virtual reality in the healthcare industry would be around $5 Billion. Also, the travel industry would see a boom in the use of AR technology as 84% consumers all over the world would be interested in using AR as a part of their travel experience.

What does this mean for you as a developer?

With AR making all these promises to change the world around us into a science fiction movie, for us developers, it means the rise of a new sector in the tech space with new job opportunities and handsome salaries. So, today we’ll dive into the world of Augmented Reality and find out whether it lives up to all the hype around it and how can you get started with Augmented Reality Development.

We will be focusing on ARCore, which is a platform by Google to create Augmented Reality experiences without needing to have intense knowledge of OpenGL, rendering etc.

What is ARCore?

According to Wikipedia, ARCore is a software development kit developed by Google that allows for augmented reality applications to be built.

ARCore uses three key technologies to integrate virtual content with the real environment:

  1. Motion Tracking: it allows the phone to understand its position relative to the world.
  2. Environmental understanding: It allows the phone to detect the size and location of all type of surfaces, vertical, horizontal and angled.
  3. Light Estimation: it allows the phone to estimate the environment’s current lighting conditions.

How does ARCore work?

Ever noticed why most augmented reality apps require you to more your camera around the room to detect surfaces? This is because the app needs to build a world of its own. ARCore is no different.

When you move your phone around, ARCore memorizes the surroundings and builds a world of its own in which it can place virtual objects. It uses motion tracking technology to identify certain features which allow it to keep a track of how these points move in accordance with your camera movements.

This is why when you place a virtual object in your room and go out and come back, the object is still there!! ARCore has built an understanding of the environment and built a virtual world where it remembers where each feature is located.

When you place an object, it calculates it’s position in relation to the other objects and when you come back to the same place, the object is rendered again.

Who all can use ARCore?

Right now, the ARCore SDK is available for

  • Android
  • Android NDK
  • Unity for Android
  • Unity for iOS
  • iOS
  • Unreal

This list is pretty exhaustive and satisfies most of the developers out there. Google has a quickstart guide for each of them which you can refer to in order to get up and running with ARCore apps.

ARCore for Android

Google has taken care of all the android developers whether you use Android SDK, Android NDK or Unity for Android development. ARCore supports them all.

This quickstart guide shows you how to set up your development environment, enable ARCore and run a sample app. This can be referenced by beginners to get their environment up and running. ARCore uses Sceneform SDK which is a 3D framework which makes it easy for Java developers to build ARCore apps without OpenGL.