AR Face Props for iOS, Android, Flutter & React Native

AR face props on iOS, Android, Flutter, and React Native come from one library: the same 2D and 3D sticker sets, anchored to detected facial features, tracked per frame, and resolved from the same packages on every target. Native teams link the engine directly; Flutter and React Native teams reach the identical prop stack through the short-video solution.

1. Product Positioning

The Face AR SDK’s prop and sticker capability runs on the cross-platform audio/video processing engine the family shares, real-time with no preprocessing. iOS and Android integrate natively; the short-video solution carries the same props to Flutter and React Native teams. Prop packages are data — authored in the Asset Creation Platform, published through your channel, resolved identically on every build.

2. What users get on each target

CapabilityiOS and AndroidFlutter and React Native
Face-anchored 2D stickersAttached to detected features, tracking liveThe same anchoring through the hosted pipeline
3D prop setsPerspective-correct props following head turnsThe same 3D families, same behaviour
Gesture triggersWave-to-switch and raise-to-start interactionsThe same triggers at the framework layer
Seasonal familiesPackage publishes through your channelThe same packages, same day

The cross-framework path carries the full prop experience — a Flutter build offers the same sticker library as the native builds beside it, not a reduced selection.

AR Face Props for iOS, Android, Flutter & React Native

3. How the integrations differ — and what does not

The native path links the prop engine into your camera session: your app owns capture, the SDK anchors and renders props onto each frame. The cross-framework path routes the same engine through the short-video solution, which handles platform bridging — per-frame anchoring stays native, and only coarse commands like “attach this prop” cross into Dart or JavaScript.

What never differs is the content:

  • One identifier — prop.crown.festival.3d — resolves on iOS, Android, and through the Flutter and React Native integrations.
  • One publish in the Asset Creation Platform reaches every build the same day.
  • One verification pass covers a family across the target family.

The snippet below is schematic. Names and signatures are illustrative, not the shipped API.

// Illustrative: a coarse command crosses the bridge; frames stay native.
import { EffectsView } from "@meishe/short-video"; // placeholder name

<EffectsView
  initialProp="prop.crown.festival.3d"
  onGesture={(g) => g.type === "wave" && cycleProp()}
/>

4. Fitting props into a mixed-stack camera

  • A native app adding a Flutter camera module enables the same prop families on the new surface — the seasonal campaign runs in both with zero re-authoring.
  • A React Native prototype going production keeps the sticker library it demoed with; promotion is integration detail, not content migration.
  • Parallel teams author against one catalogue, so the prop experience stays consistent however many builds consume it.

5. Why teams choose Meishe

AdvantageWhat it means for your project
Self-developed engineThe cross-platform audio/video processing engine used across the product family, refined through years of shipping
Real-time, no preprocessingProps render from the first camera frame, native or cross-framework
One package modelEvery build resolves the same prop identifiers
2D and 3D familiesBoth formats from the one library
Authoring includedAsset Creation Platform for designers; Special Effects Customization for produced families

6. What shipping teams ask first

  • Which target ships first? The one your roadmap weights most — the prop library carries to the others unchanged.
  • Do 3D props lag on the cross-framework path? No — both paths resolve the same packages; anchoring and rendering behaviour is identical.
  • Who owns camera permissions? Your app, on every target; the SDK renders once frames arrive.

The staffing symmetry deserves one more note: because the prop model is identical across targets, a designer moving between the iOS and Flutter projects changes codebases without changing content practices. The catalogue, the authoring platform, and the publish pipeline are the same surface — muscle memory transfers, and so does institutional knowledge.

That consistency is invisible when it works and expensive when absent: teams that forked prop content per platform spend their seasons reconciling catalogues instead of shipping them. The one-library arrangement exists precisely so that seasons stay for shipping.

However the target list grows — a desktop client, a smart-hardware variant — the prop library arrives with it, complete, on day one.

One library, four targets, zero content forks — the prop roadmap stays that simple as it grows.

One more planning observation: prop campaigns stop being platform campaigns. A launch that would once have needed an iOS week, an Android week, and a framework follow-up is one publish and one verification pass — the team’s calendar frees for the creative work that differentiates the product in the first place.

Fewer platform weeks, more creative weeks — the arithmetic of one library.

The same reasoning applies to QA ownership: because verification is per family rather than per platform permutation, one reviewer covers the season. Review effort scales with content, not with the target list.

Put together, the four-target arrangement reads like a single-target one: one library, one calendar, one verification pass — multiplied across every build the product ships. That is the whole point, and the whole saving.

One library, four targets, zero forks — and every season arrives everywhere the same day.

And when a fifth target appears — a desktop client, a smart-hardware variant — it joins the same library the same week: integration work, never content work.

However the build list grows — a fifth target, a hybrid module, a new client — the sticker library arrives complete on each new surface, and the roadmap keeps its single content truth.

Four targets today, whatever tomorrow — the library was built for the growth, and the growth was built into the library.

The four-target story, in closing, is not about the targets — it is about the team that never has to choose between them. Ship where the users are; the library follows the product wherever it goes next.

FAQ

Can we start native and add Flutter later?
Yes — the same prop packages resolve on the new target from day one; the content investment carries over untouched.

Do gesture triggers work through React Native?
Yes — gesture events arrive at the JavaScript layer as coarse events; detection itself runs natively on the frame stream.

How does QA verify props across four targets?
Verify each family once per target family; because engine and packages are shared, differences surface as platform behaviour rather than prop differences.

Can props run alongside beautification on the cross-framework path?
Yes — the hosted pipeline runs the same stack, so a Flutter user can wear smoothing, a filter, and a 3D prop together.