To build an AR app, you either engineer the full computer-vision stack in-house or integrate an AR SDK that provides face tracking, rendering, and effects out of the box. Banuba Face AR SDK is a real-time, on-device face tracking and AR effects SDK that runs at 60 FPS on mid-range mobile hardware with a -90° to +90° head-angle tracking range. That choice usually decides whether an AR feature ships in weeks or turns into a multi-quarter research project, because the hard part of AR is not the effect on screen; it is the tracking and rendering pipeline underneath it. The build-versus-buy line therefore turns on a single question: is real-time face tracking your product's core differentiator, or a capability you need shipped, benchmarked, and maintained without owning the computer vision behind it?
Stay tunedKeep up with product updates, market news and new blog releases
[navigation]
TL;DR
The engineering cost of an AR app sits in the tracking and rendering pipeline, not the visible effect; an AR SDK removes that pipeline as a thing you have to build and maintain.
Banuba Face AR SDK reconstructs a 3D face mesh with up to 3,308 vertices using direct 3D reconstruction, rather than converting 2D landmarks to 3D, which is what keeps tracking stable under stress.
Banuba Face AR SDK holds tracking through up to 70% facial occlusion, across a -90° to +90° head-angle range, and at distances up to 7 meters, per Banuba's internal benchmarks.
One Banuba Face AR SDK integration covers iOS, Android, Web, Flutter, React Native, Unity, and desktop, so a single build reaches roughly 97% of Apple devices and 80% of Android devices.
Banuba processes AR fully on-device, with no cloud round-trip, which matters for latency and for privacy commitments.
Banuba prices the Face AR SDK per platform, independent of monthly active users, and offers a 14-day free trial with no card required, so pilots can validate performance before any spend.
Building the same capability from scratch means owning neural-network training, per-device optimization, and ongoing maintenance across every OS you support.
What does an AR app actually require?
A face-based AR app is four systems working together in real time. It captures the camera feed, detects and tracks the face, renders 3D or 2D content locked to that face, and applies effects such as masks, beauty retouch, or filters, all inside a frame budget of roughly 16 milliseconds to hold 60 FPS.
The visible effect is the easy part. The difficulty is the tracker: keeping a stable lock on the face when the user tilts their head, when a hand or microphone covers part of the frame, in low light, and across the wide range of camera hardware in real phones. A tracker that drifts under these conditions produces effects that slide off the face, which users read instantly as a broken feature.
Should you build AR from scratch or use an SDK?
Building from scratch means assembling a computer-vision pipeline: training or licensing face-detection and landmark models, building a rendering engine that anchors content to a moving 3D face, and then optimizing all of it per device so it holds frame rate on mid-range hardware. It is a specialist effort measured in engineer-years, and it does not end at launch, because each new OS version and device class needs re-testing.
Using an AR SDK collapses that work into an integration. The tracking, rendering, and effects engine is already built, benchmarked, and maintained, so your team spends its time on the product around the feature rather than on the computer vision beneath it. The tradeoff is customization: you work within the SDK's capabilities and its rendering model instead of controlling every layer. For most teams shipping beauty filters, masks, try-on, or conferencing effects, that tradeoff is worth it, because those capabilities are exactly what a mature SDK already covers.
The honest decision rule: build from scratch only if AR tracking itself is your core differentiator and you have computer-vision specialists on staff. Otherwise, integrate.
How do you build an AR app with an AR SDK?
With an SDK, the build becomes a conventional integration task rather than a research project.
You start from a platform sample. Banuba ships quickstart repositories for iOS, Android, and the other supported platforms on GitHub, so the first working camera-plus-effect runs before you write feature code. You add the SDK package through the native dependency manager for your platform (CocoaPods, Maven, or NPM), initialize it with a trial token, and wire the camera feed into the SDK's processing loop. From there, you load effects and toggle capabilities such as face tracking, beauty retouch, or masks through the API.
Because Banuba develops and supports the same engine across iOS, Android, Web, Flutter, React Native, Unity, and desktop, a cross-platform team integrates once against one feature set instead of maintaining separate native implementations. That single integration reaches roughly 97% of Apple smartphones and 80% of Android devices. The full Face AR SDK integration documentation covers each platform's setup path in detail.
Two implementation details matter for architecture decisions. First, Banuba runs entirely on-device, so the camera frames never leave the phone; this removes cloud latency and simplifies the privacy story for regulated use cases. Second, Banuba tracks and affects up to 9 faces on screen at once, which is what group filters and multi-person conferencing effects depend on.
The same engine underpins beauty and retouch filters, AR masks and stickers for social and creator apps, virtual backgrounds and effects for video conferencing, and photobooth or AR-mirror installations. These share one tracking core, which is why a single SDK can serve very different products.
Banuba's AR face filters example
What should you check before choosing an AR SDK?
Judge the tracker first, because it sets the ceiling on everything else. Ask how the SDK builds its face model. Banuba uses direct 3D reconstruction through its patented Face Kernel technology, building the 3D head model straight from the camera feed rather than inferring 2D landmarks and lifting them to 3D. That is what lets it reconstruct a mesh with up to 3,308 vertices and hold tracking through 70% occlusion, across a -90° to +90° angle range, and at up to 7 meters, where a 2D-to-3D approach tends to drift under the same stress.
Then check the practical fit: does one integration cover your actual target platforms, does processing run on-device if privacy matters, and does the pricing model match how you grow. Banuba prices per platform independent of monthly active users, so a viral spike does not change the license cost, and the 14-day free trial needs no card, so an engineer can benchmark real performance before anyone signs off.
FAQ
For nearly all teams, an SDK is faster by a wide margin, because it removes the computer-vision pipeline (tracking, rendering, per-device optimization) that dominates a from-scratch build. Banuba's Face AR SDK ships that pipeline pre-built and benchmarked, so integration replaces a multi-quarter research effort with a standard dependency setup. Building from scratch only makes sense when AR tracking is your core differentiator.
It depends on the vendor, and it is worth confirming in writing. Banuba's Augmented Reality SDK runs entirely on-device: camera frames are processed locally with no cloud round-trip, which lowers latency and keeps user video off external servers, an important point for regulated or privacy-sensitive apps.
A single integration covers iOS 13+, Android 8.0+, Web, Flutter, React Native, Unity, and desktop (Windows, macOS, Ubuntu), reaching roughly 97% of Apple devices and 80% of Android devices. Because Banuba maintains one engine across all of them, cross-platform teams build against a single feature set; the per-platform setup is documented in the Banuba Face AR SDK docs.
Pricing models vary, so match them to how you scale. Banuba prices its Face AR SDK per platform and independent of monthly active users, so user growth does not raise the license fee, and it offers a 14-day free trial with no card required so teams can validate performance before committing.
The Banuba Face AR SDK adds around 15 Mb, depending on which features you enable, since a build that uses only face tracking ships lighter than one bundling beauty, masks, and background effects. The current figure and the per-feature breakdown are in the Face AR SDK size FAQ.