AR Cosmetics Try-On Development: Virtual Makeup Turnkey
Virtual makeup is technically the most demanding face AR scenario. Lipstick must precisely follow lip contours, eyeshadow must lay on eyelid creases, and foundation must blend with the actual skin tone. The user instantly notices if the boundary 'drifts' when the head turns 20°. That's why most cosmetics manufacturers don't build this stack themselves — they turn to us for specialized SDK integration. We've delivered 15+ AR try-on projects for cosmetic brands.
Why ARKit/ARCore Aren't Enough for Cosmetics
ARKit ARFaceAnchor provides a 1220-vertex face mesh (geometry.vertices) and blendshapes (blendShapes) for expressions. That's sufficient for masks and AR filters. For lipstick, it's not: the lip contour in the ARKit face mesh is about 80 vertices, resulting in jagged geometry during rendering, especially noticeable on thin lips.
Specialized SDKs work with 400–900 vertices just for lips, track upper and lower eyelids separately, the nose bridge, and cheek areas. This yields a realism that standard tools cannot achieve.
How to Choose an SDK: Popular Solutions Compared
| SDK | Face Mesh Points | Cosmetic Effects | License | Integration Time |
|---|---|---|---|---|
| Perfect Corp YouCam | 478 | 120+ (lipstick, eyeshadow, concealer, mascara, etc.) | Enterprise (on request) | 2–3 weeks |
| Banuba Face AR | 468 | Customizable effects | From $149/mo, Enterprise | 2–3 weeks |
| MediaPipe Face Mesh | 468 | Only mesh, everything else custom | Open source (free) | from 3 months |
| ModiFace (L'Oréal) | ~500 | 100+ | Partnership only | — |
Perfect Corp YouCam SDK is the industry standard. It uses its own ML-based face mesh, 120+ effects out of the box, native iOS (Swift/ObjC) and Android (Kotlin/Java) SDKs. We are a certified Perfect Corp integrator, granting access to premium effects.
Banuba Face AR SDK is a flexible alternative with customizable effects via the Banuba Effect Player. It allows you to create effects in the editor. Supports iOS, Android, and Web. An Enterprise license provides full access.
Custom implementation via MediaPipe Face Mesh: 468 points, works on iOS and Android through MediaPipe Tasks. Free and open source. It requires building a custom cosmetics renderer — 3–5 months of work — and significantly lags behind specialized SDKs in realism. However, it's suitable for budget projects.
How We Achieve Realistic Rendering
Lipstick. Lip mesh → UV unwrapping → texture with lipstick color, blended using multiply/screen blend modes with the original camera image. Opacity controls the 'saturation' of the shade. Edges are feathered via Gaussian blur on the mask. With 400+ lip vertices, the contour remains smooth even when the head is turned 60°.
Eyeshadow. Gradient texture applied over the eyelid, accounting for surface curvature. The main challenge is that when the user looks down, the eyelid closes and the shadow must deform accordingly. Without proper deformation, the shadow 'peels off' the skin. Our algorithm uses 30 blendshapes for just the eye area.
Foundation / Concealer. Not just an overlay — we use skin tone matching. The algorithm analyzes skin pixels outside the application area, determines the undertone (warm/cool/neutral), and adjusts the product color to match the real skin tone. Without this, foundation looks like a mask. Our optimization achieves matching in 2–3 ms on modern devices.
Live Camera vs Photo Mode
For live preview via camera, we require 30 fps minimum; otherwise, latency makes the try-on uncomfortable. Perfect Corp SDK maintains 30 fps on iPhone X+, 25 fps on Android with Snapdragon 845+. On weaker Android devices, performance degrades — plan a fallback to photo mode.
Photo mode: the user selects a photo from the gallery and gets a static makeup render. Technically simpler (no real-time requirement), the result is more accurate due to more processing time.
What's Included in Our Work
We provide a full service cycle:
- Requirement analysis and optimal SDK selection for your budget and timeline
- SDK integration into a native app (iOS/Android) or cross-platform project (Flutter/React Native)
- UI for product selection from the catalog, effect configuration, saving and sharing results
- Testing on 10+ devices (including low-end Android)
- Operational and support documentation
- Assistance with App Store and Google Play moderation (considering AR app requirements, App Store Review Guidelines)
- Training for your team (1 to 5 people)
Estimated Timelines
| Phase | Duration |
|---|---|
| Preparation, SDK selection, prototype | 1–2 weeks |
| Basic effect integration (lipstick, eyeshadow, blush) | 2–3 weeks |
| Product catalog, UI, save/share | 1–2 weeks |
| Testing, bugfixing, release | 1–2 weeks |
| Total (with Perfect Corp or Banuba SDK) | 5–8 weeks |
Custom implementation on MediaPipe starts from 12 weeks. Pricing is determined individually.
Common Mistakes We Often See
- Ignoring shadow deformation when facial expression changes — effects peel off
- Lack of skin tone matching for foundation — mask instead of makeup
- Choosing an overly complex SDK for a simple project: e.g., MediaPipe for a single lipstick color is overkill
- Skimping on testing: the effect works great on flagships but fails on mid-range devices
- Publishing without considering Section 5.1.1 App Tracking Transparency — risk of rejection
Contact us for a consultation: we'll help you choose an SDK, plan development, and avoid typical issues. We'll evaluate your project within 2–3 days.
Our experience: 7+ years in mobile development, 50+ AR projects, certified by Perfect Corp and Banuba. Order your AR try-on turnkey — get a ready solution in 5–8 weeks.







