ARKit vs. ARCore: The Key Differences

There is a huge confrontation going on between Apple and Google to overcome one another in the area of mobile app development. Both tech giants have launched their various OS platforms in the hope of overtaking the market what could become a very lucrative market. Apple and Google are poised to bet on high adoption after recently investing heavily in AR developer tools. With all of these tech giants involved, it's clear that augmented reality is evolving into practical use. Apple and Google take augmented reality very seriously. Any developer looking to build AR apps or add AR elements to existing software should use SDKs released by Apple or Google, which makes ARCore vs ARKit is worth it. Apple launched its ARKit SDK in 2017, right before Google, in Apple's annual WWDC.

ARCore:

ARCore is a development kit for Android applications. When Apple released its ARKit, Google already had some experience with AR technology. Tango, Google's so-called AR platform, ran for almost 4 years from summer 2014 to spring 2018, but it didn't appreciate the hype ARKit made. Finally, Google has finished Tango and released a brand new AR SDK. On March 1, 2018, ARCore was officially released and Tango was officially buried. However, the first stable version was only released in December 2018.

ARCore offers points, plane detection, light estimation, image tracking, face tracking, etc. Using ARCore's motion tracking capabilities, developers can track the phone's position with the environment. Other important capabilities of ARCore are understanding the environment to include sensing area size and location and estimating light, including actual lighting conditions.

Fundamental features of ARCore:

Motion Tracking: It is essential not only to place virtual objects in the real world, but also to ensure that they are realistic from all angles. ARCore guarantees this by aligning the virtual 3D camera that renders your 3D content with the device's camera.

Environmental Understanding: ARCore detects planes and feature points so you can correctly position virtual objects on real and flat surfaces. For example, objects on your table or your walls.

Light Estimation: Using a phone's camera, ARCore can detect current light positions in the physical world. ARCore, then illuminates virtual objects in the same way as real objects, thus increasing the feeling of realism.

ARKit:

The ARKit is a development kit for iOS applications. Apple introduced ARKit at WWDC'17, and almost immediately it was available to developers around the world. As Craig Federighi, senior vice president of software engineering at Apple said, ARKit is "the world's largest AR platform". The advanced features of ARKit 3 are limited to devices with A12 Bionic chip variants or higher. Apple ARKit is a set of tools (framework and SDK) that help developers build AR apps for the iOS platform to include iPhone 6 and above models and iPad models Pro. The offerings offered by ARKit are points, plane detection, AR world map, light estimation, anchors, face tracking, motion capture, person’s occlusion, and collaboration sessions. ARKit supports image detection and image tracking and helps to integrate virtual objects into AR experiences or on surfaces.

How ARKit works?

It's like creating visual effects for movies, but with a big difference. It's all done on a mobile device in real-time, and it's awesome. The augmentation process consists of 3 steps: tracking, understanding the scene and rendering. Input data come from the camera, accelerometer, and gyroscope. It is then processed to calculate the movement of the camera in the physical world. This allows 3D content to be drawn on the image.

The correct ARKit work requires a well-textured and lit environment, a flat surface for visual odometry, and a static scene for motion odometry. If the environment does not meet these requirements, ARKit provides the user with tracking status information. There are three states as followed: not available, normal, and limited. Typically, we can place a virtual object on or near a surface in the real world. Since version 1.5, ARKit can recognize images and vertical surfaces.

ARCore vs. ARKit:

ARKit and ARCore are popular AR development toolkits. ARKit is only compatible with the iOS platform, while ARCore is compatible with iOS and Android. Statistics show that 78% of the global mobile game market are Android gamers. The limitation of the iOS platform leaves ARKit with a major drawback compared to the other two.

Comparing further, ARKit and ARCore offer equivalent results and capabilities in lighting estimation, but the approach is different. While ARKit provides developers with colour temperature and intensity, ARCore provides a shader or pixel intensity value with the Unity API and Android Studio API, respectively.

For simultaneous locate and mapping, ARKit performs better in reliable tracking and ARCore leads in reliable mapping and recovery. Since ARCore handles larger cards, if the user's device loses tracking, ARCore will recover the card more reliably. In terms of hardware requirements, ARCore performs better because it supports many existing devices, eliminating the need for specific hardware, for example, a specialized camera or sensor.

Wrapping Up

Augmented reality has innovated in application development for its ability to provide a compelling user experience. For developers, integrating AR into applications has become easy with AR development toolkits like ARKit and ARCore.

All of these toolkits are great in terms of the overall capabilities and functionality they provide in developing AR applications. For general AR development, developers can choose between these depending on the platform to use and the price. For unique and complex features, it is important to know the minimum points of difference between these tools.