Some of the most talked-about mobile applications and experiences these days utilize augmented reality technology. While some of these experiences can work on practically any mobile device, others only work on newer and more expensive models. Developing and using these more robust experiences require ARCore and ARKit.

An Introduction to ARCore and ARKit

Android's ARCore and Apple's ARKit are the platforms that allow developers to create and users to access AR experiences on mobile devices. They require access to your device's software and hardware including the camera and location information.

How ARCore Works

ARCore is Android's platform for mobile AR app building and experience. Unlike ARKit, ARCore relies almost exclusively on the main camera and the device's built-in motion sensors.

This means that app developers using ARCore have a lot more flexibility in the development engines that they use and can even develop experiences for iOS devices. It also means that, while newer or more expensive devices will allow more robust AR experiences, most working Android phones are ARCore-compatible to some degree.

ARCore works by using the device's camera to detect "feature points" in the surrounding environment. Clusters of feature points are used to identify likely planes in the physical world, where planes are continuous surfaces like walls or floors and ceilings, or parts of larger structures like tabletops.

Planes or even specific points can then become "anchors" for digital artifacts in AR experiences. This comparatively simple approach has issues detecting smooth surfaces.

Understanding the environment is only half of the story. By accessing the information on the mobile device's position, orientation, and movement, ARCore enables a process called Simultaneous Localization and Mapping. This is the process of contextualizing the phone's position and surroundings to enable dynamic experiences.

ARCore experiences also involve light estimation to make the placement of digital objects more believable. Further, Google recently developed a Depth API that works on most Android devices made after December 2019 but that will come native on the Galaxy Note 10+, the Galaxy S20 Ultra, and later devices.

Samsung Galaxy S20 FE

How ARKit Works

Apple's ARKit is the iOS platform for AR app building and experience. A 2020 update improves old and facilitates new experiences with onboard LiDAR capabilities starting with the iPhone 12 Pro and Pro Max and the iPad Pro.

iPhone 12 Pro Camera Lens

This reliance on exclusive tech may make ARKit-enabled AR experiences more immersive and tools more precise. However, it also means that it is more difficult for developers to make more accessible AR applications.

LiDAR (short for "Light Detection and Ranging") determines the distance from a device to a surface using the time that it takes for a pulse of light to move from the device to the surface and back. Each pulse of light generates a single point. Collections of these points, called "point clouds" are used to create a topographical map of the user's surroundings.

This method creates more detailed maps than Android's model, as well as allowing digital models to be placed more quickly. It also requires dedicated hardware that makes the devices larger and more expensive.

Apple's LiDAR system also improves object occlusion and people occlusion, that is, allowing digital objects to appear to be located behind physical objects and people. Measuring capabilities, motion capture, and object physics within AR applications are also improved.

As is the case with ARCore, ARKit handles world mapping (which Apple calls "Scene Geometry") through interfaces with the device's location and positioning hardware. ARKit also features integrations that allow both of a device's cameras to be used simultaneously.

Is ARCore or ARKit "Better"?

When comparing any two things, it's easy to ask whether one is "better" than the other. In most cases, including that of ARCore and ARKit, it's not exactly that simple. There are trade-offs, certainly, but it is difficult to declare one the "winner."

ARCore and ARKit for Users

ARKit (specifically now that it incorporates LiDAR) does have advantages over ARCore when it comes to experiencing AR, which is how most people will want to interact with it. Specifically, as mentioned above, ARKit's plane recognition is better than ARCore at recognizing low-texture surfaces like white walls.

However, ARKit's LiDAR use also makes devices compatible with the most recent edition larger and more expensive. Because ARCore uses technology already on a standard phone, compatible devices don't need to be larger or more expensive to support the platform.

One thing to keep in mind is that ARKit and ARCore are parts of larger operating systems. If a given user is more familiar with and more comfortable with Android, Apple's ARKit probably won't be enough to change their minds.

On a related note, these platforms integrate with their parent operating systems and related services in different ways. ARKit is more closely integrated into Apple Maps than Google Maps is integrated into ARCore. However, ARCore is more closely woven into Google's image search engine.

If creating and interacting with AR is a priority when you think about how you use your mobile phone ARKit vs. ARCore is a competition that you should watch. If you don't use AR or only use it casually, using whichever service comes with your preferred operating system will probably meet your needs.

ARKit and ARCore for Developers

Unity and other coding engines are compatible with Android's ARCore.
Image Creit: I G/Flickr

ARKit vs. ARCore is also a complicated debate for developers. ARKit does offer faster, more accurate, and more powerful tools. However, there are much more prohibitive support limitations.

Because every smart device on the market has an RGB camera, just about every smart device on the streets is compatible with ARCore to some degree and that includes Apple devices. As a result, developers using ARCore can develop for Android as well as Apple devices. That's an advantage that ARKit developers don't have.

So, once again, the issue isn't one platform being far and away better than the other. The issue comes down to the kinds of applications you want to develop, how you want to develop them, and what devices you want that application to be compatible with.

Different Ways to Map the World

ARKit and ARCore offer different ways for mobile devices to map, understand, and augment the world. The principal technical difference is ARKit's reliance on LiDAR and ARCore's pioneering of more device-agnostic depth-sensing approaches.

For most mobile phone users, ARKit vs. ARCore shouldn't be enough to make you switch or stick with one operating system or the other. However, if mobile AR is a profession or passion of yours then the issue deserves some discernment.

Image Credit: Julia_Tim/Depositphotos