Short answer: Choose ARKit if you are building for iPhone and iPad only. Choose ARCore if you are building for Android. Use Unity ARFoundation if you want to target both with one codebase. Most commercial AR games use ARFoundation for exactly this reason.
ARKit is Apple's AR framework. ARCore is Google's. They do similar things — tracking surfaces, placing digital objects in the real world, handling light — but they run on different platforms and have different strengths.
If you are planning an AR game or app and trying to decide which one to build for, this page gives you a straight comparison. No filler, no jargon.
What Each One Is
ARKit
Made by Apple — launched 2017
iOS & iPadOS onlyARKit is Apple's built-in AR framework. It comes with every iPhone 6s or newer running iOS 11 or later. No download needed — it is part of the operating system.
It uses the device's camera and sensors to track surfaces, detect planes, and place digital objects in the real world. On iPhone 12 Pro and newer, it also uses the LiDAR sensor for much faster and more accurate tracking.
ARCore
Made by Google — launched 2018
Android-first, some iOSARCore is Google's AR framework. It runs on Android 7.0 and above on a wide range of supported devices. It also has limited iOS support, though most ARCore features are designed for Android.
It uses the same approach — camera, sensors, surface tracking — but is built around the Android ecosystem and integrates with Google Play Services. It also powers Cloud Anchors, which lets multiple users share the same AR space.
Side-by-Side Comparison
| Feature | ARKit (Apple) | ARCore (Google) |
|---|---|---|
| Platform | iOS and iPadOS only | Android (primary), some iOS |
| Device reach | ~26% of global smartphones (iPhone) | ~70% of global smartphones (Android) |
| Tracking accuracy | Slightly better on supported devices | Very good — better map recovery if tracking is lost |
| LiDAR support | Yes — iPhone 12 Pro and newer | No LiDAR; uses depth API on supported Android devices |
| Face tracking | Full face mesh tracking via TrueDepth camera | Basic face detection via ARCore Face APIs |
| Multi-user AR | Collaborative sessions (limited) | Cloud Anchors — persistent shared AR space across devices |
| WebAR support | Via WebXR on Safari (limited) | Better WebXR + Scene Viewer support on Android Chrome |
| Plane detection | Horizontal and vertical planes | Horizontal and vertical planes |
| Light estimation | Colour temperature + intensity | Pixel intensity value via Unity or Android Studio API |
| Image tracking | Faster and more accurate | Good — reliable but slightly slower |
| Object occlusion | People occlusion + environment occlusion | Environment occlusion on supported depth-capable devices |
| Unity support | Via ARFoundation | Via ARFoundation |
| Unreal support | Via UnrealAR plugin | Via UnrealAR plugin |
| Cost | Free (included with iOS SDK; Apple Developer Program $99/yr for App Store) | Free |
Where Each One Is Stronger
Tracking accuracy
ARKit is generally considered to have slightly better tracking on supported iPhone hardware, particularly on LiDAR-equipped devices. The LiDAR sensor on iPhone 12 Pro and newer lets ARKit detect surfaces almost instantly, even in low light, and place objects with much higher accuracy.
ARCore matches ARKit closely on most tasks, but edges ahead in one area: if the user's phone loses tracking — by covering the camera or moving too fast — ARCore recovers the map more reliably. It maintains larger maps, which helps it re-lock into position after interruptions.
Device reach
Android accounts for roughly 70% of global smartphone users. ARCore runs on most modern Android devices (Android 7.0 and above). If your goal is to reach the widest possible audience with one AR build, ARCore gives you significantly more device coverage.
ARKit runs on Apple devices only. That is roughly 26% of the global market — but iPhone users tend to have higher-spec devices, which means better AR performance and a more consistent experience across the audience you do reach.
Face tracking
ARKit has a clear lead here. On iPhones with TrueDepth cameras (iPhone X and newer), ARKit provides a full 3D face mesh with 52 blend shape parameters — meaning it can track very precise facial expressions and movements. This is what powers most AR filter apps.
ARCore offers basic face detection and some face tracking via its Face APIs, but it does not match ARKit's depth-based face mesh on comparable hardware.
Multi-user shared AR
ARCore leads here with Cloud Anchors. This lets two or more users share the same AR objects in the same real-world space across different Android devices — and even across iOS and Android together. The anchor is stored in the cloud, which means it also persists between sessions. You can place an AR object somewhere today, come back tomorrow, and it will still be there.
ARKit supports collaborative sessions within a local network, but this requires Apple devices and does not persist between sessions the same way Cloud Anchors do.
Web AR
ARCore has better WebAR support. Android Chrome handles WebXR natively, and ARCore powers Scene Viewer — a built-in Android AR viewer that lets users see 3D models in AR directly from a browser without installing an app.
Safari on iOS supports WebXR but with more restrictions. For browser-based AR without an app, tools like 8thWall bridge the gap and work across both platforms.
ARKit vs ARCore for Game Development
Most AR game development company today does not choose one over the other — they use Unity ARFoundation, which sits on top of both ARKit and ARCore and provides a single API that works across both platforms. You write the game once, Unity handles the ARKit and ARCore calls underneath.
Where you do need to make a choice is when you want to use platform-specific features that ARFoundation does not expose — like ARKit's LiDAR-based instant placement or ARCore's persistent Cloud Anchors.
| Game type | Better choice | Why |
|---|---|---|
| Premium iOS game | ARKit (native) | Full access to LiDAR, face mesh, RealityKit. Best tracking quality on Pro iPhones. |
| Mass market mobile game | ARFoundation (Unity) | Targets both ARKit and ARCore. Widest device reach with one codebase. |
| Location-based AR game | ARFoundation + ARCore Cloud Anchors | ARCore's persistent Cloud Anchors are essential for placing AR objects at GPS coordinates that persist across sessions and users. |
| Multiplayer AR game | ARFoundation + ARCore Cloud Anchors | Shared AR spaces across devices need Cloud Anchors. ARKit collaborative sessions are local-only. |
| Face filter / avatar game | ARKit (iOS) | ARKit's TrueDepth face mesh provides much higher fidelity than ARCore face APIs. |
| Branded WebAR experience | 8thWall | Neither ARKit nor ARCore is the right tool for browser-based AR. 8thWall works across both platforms without an app. |
Unity ARFoundation — Build Once, Run on Both
ARFoundation is Unity's cross-platform AR layer. It wraps both ARKit and ARCore behind a single set of APIs, so your game code does not need to know which one it is running on. Unity handles the switch under the hood based on the device.
This is how most professional AR games are built today. You write one game, test on both iOS and Android, and submit to both app stores. The only time you step outside ARFoundation is when you specifically need a feature that only exists on one platform — like ARKit's LiDAR occlusion or ARCore's Cloud Anchors — and Unity's cross-platform API does not yet expose that feature.
Unreal Engine has a similar system via the UnrealAR plugin, which supports both ARKit and ARCore in the same way.
ARFoundation does not expose every platform-specific feature. If your game needs ARKit's full face mesh or ARCore's persistent Cloud Anchors, you will need to call those APIs directly alongside ARFoundation, using platform-specific code blocks in your Unity project.
Which One Should You Choose?
The decision usually comes down to one question: who are you building for?
Choose ARKit if:
- Your target audience is iPhone users specifically
- You need LiDAR-based instant surface detection
- You are building a face filter or avatar-driven game
- You are releasing on the App Store only
- Premium device experience matters more than reach
Choose ARCore if:
- Your target audience is Android or a global market
- You need multi-user shared AR or persistent anchors
- You are building a location-based game
- You are targeting South Asia, Southeast Asia, Africa
- You want better WebAR support on mobile browsers
Choose ARFoundation (Unity) if:
- You are building a game for both iOS and Android
- You want one codebase for both platforms
- You are using Unity as your game engine
- This is the right choice for most AR game development company
Choose 8thWall if:
- You need AR that works in a browser with no app download
- You are building a branded AR campaign or WebAR experience
- You need cross-platform browser AR that works on both iOS and Android
Building an AR Game?
Tell us your target platform, game type, and whether you need multiplayer or location features. We build AR games on ARKit, ARCore, ARFoundation, and 8thWall — and we will tell you exactly which stack fits your project.
Talk to an AR developer →Frequently Asked Questions
Find answers to common questions about ARKit, ARCore, Unity ARFoundation, platform support, multiplayer AR, and development costs.
Is ARKit better than ARCore?
Neither framework is universally better. ARKit generally provides slightly better tracking on supported iPhones and benefits from LiDAR on compatible Pro models. ARCore provides wider Android device coverage and is stronger for persistent shared AR spaces, map recovery, and Cloud Anchors. The right choice depends on your target platform and required features.
Can I use ARKit on Android?
No. ARKit is an Apple framework designed specifically for iOS and iPadOS devices. Android applications normally use ARCore. To build one AR application for both iOS and Android, developers can use Unity ARFoundation, which connects to ARKit on Apple devices and ARCore on Android devices.
Can I use ARCore on an iPhone?
ARCore provides limited iOS support, but it is primarily designed for Android. On Apple devices, it relies on underlying ARKit capabilities. Developers building specifically for iPhone or iPad will generally use ARKit directly, while cross-platform Unity projects can use ARFoundation.
What does Unity ARFoundation do?
Unity ARFoundation is a cross-platform AR development layer that provides one set of APIs for both ARKit and ARCore. Developers can write the main AR logic once, and Unity calls the appropriate framework depending on whether the application is running on iOS or Android. Platform-specific code may still be required for features such as ARKit face tracking or ARCore Cloud Anchors.
Which framework is better for multiplayer or location-based AR games?
ARCore is generally stronger for multiplayer and location-based experiences because its Cloud Anchors can create shared AR spaces across devices and preserve anchors between sessions. A commercial game targeting both platforms can use Unity ARFoundation for its shared codebase while integrating ARCore Cloud Anchors for persistent multiplayer features.
Does ARCore work without an internet connection?
Most ARCore features can work without an internet connection, including local motion tracking, plane detection, light estimation, and object placement. However, Cloud Anchors require an internet connection because they save and retrieve shared spatial anchor information through Google’s cloud services.
What is the cost difference between developing with ARKit and ARCore?
ARKit and ARCore are both free development frameworks. The main cost difference comes from project scope. Developing for only one platform requires less engineering and testing, while supporting both iOS and Android can require approximately 30%–50% more development time and cost, depending on platform differences. Unity ARFoundation can reduce this additional effort by allowing both versions to share one primary codebase.






