If developing your own AR apps is something that interests you, you should probably know about ARCore. If development isn’t one of your interests, but you use AR tech, it can still be interesting and helpful to know more about what it takes to create these experiences. And, if you already design with ARCore, this article may serve as a refresher or provide some background information. You can also scroll to the end where I talk about some recently announced updates coming to the platform.
What Is ARCore?
ARCore is a platform launched by Google earlier this year. The platform gives users access to resources including code, a blog, and a community, that developers can use to create AR apps for mobile devices.
The platform helps to patch the user into some of the most difficult and crucial aspects of AR app development. These include tracking of position and movement. It also includes the use of a camera for display, design of an AR artifact, and interacting with surfaces and images.
How Does it Work?
The process starts with selecting the coding engine that you are most familiar with, or that is most compatible with your devices. ARCore currently supports a few engines, including Java, Unity, Unreal, iOS, and Android.
Java is one of the more familiar coding environments for developers. It’s been around for a while and developers mostly use it for apps and in-browser programs. Developing AR apps has some unique challenges; but a background in Java for more conventional development is still useful.
Unity was founded as, and is best known as, a gaming engine. What that means is that is has some advanced graphics capabilities and some other advantages over Java. What it doesn’t mean is that it’s only good for games. Unity is used for a variety of more practical applications including the ones in education and the automotive industry.
Unreal, like Unity, was created for games. In fact, Epic Game was the one that developed it. The engine is similar to Unity in other ways. It’s faster than Java and it has more resources for graphics. It’s also commonly used for architecture and design as well as games.
iOS is different from the other engines. Designed by Apple, it powers Apple computers as well as mobile devices. Like Java it’s been around for a while and is a very versatile engine. It’s a little more approachable than Unreal or Unity and still has some powerful graphics even though some other aspects are a little more limited.
Android is the only mobile alternative to iOS and has been around for almost as long. It’s similar in many ways but is known more for computing than graphics.
How Do You Use it?
After you select an engine, you will receive a Quickstart Guide that includes sample code. You can use this code as a template, or you can remove lines of code, or copy them etc., in order to create the program that you need.
If the lines of code look like Greek to you, you can read through a more comprehensive guide for first-time AR app developers.
You can test your AR app in progress on a compatible mobile device, or on a desktop, or laptop computer, using an Emulator.
The Emulator is also handy for creating AR apps that work on Android and Apple devices. This can be done through a process called “Cloud Anchoring.”
Finally, ARCore includes access to Design Guidelines that can help developers go through the necessary steps and publish their AR app on app stores.
How Is it Changing?
One of the best things about ARCore is how often it updates. It’s always a good time to start, as the team continually adds software updates and new tools and resources.
A recent Google Developers blog post shared information on some of the updates coming to the next iteration of ARCore.
The most exciting thing for AR app users may be the updated lighting effects that will help developers to create more realistic AR artifacts.
A seemingly more mundane addition may not thrill AR app users but will certainly help developers. These additions include tools that make it easier for developers to take screenshots and record video while developing. These features will make it easier for developers to create previews of their programs; as well as to do side-by-side testing of works in progress.
ARCore is a powerful tool and it provides a wealth of resources that even coding beginners can use to enter the world of AR app development. It’s a fairly new tool but it isn’t too new to release updates that make it even more useful and even more powerful.