Recommended Flow
- Ask the user which glasses model they are pairing.
- Call
scan()for that model. - Present typed discovered devices from the progressive scan results.
- Connect using the discovered device or default-device helper.
- Read shaped glasses state, firmware fields, and capability-related status before enabling advanced features.
- Keep app UI derived from SDK status rather than from command success alone.
- React Native
- Android
- iOS
Capability Areas
- Display: text, dashboard, head-up angle, and screen enable/disable commands.
- Input: button, touch, head-up, and switch events.
- Audio: PCM, LC3, audio pairing, preferred microphone, and local transcription.
- Camera: photo, gallery, video recording, and streaming.
- Network: Wi-Fi scan, credentials, and hotspot state.
- Maintenance: model-specific version info.
Model Differences
Treat each advanced feature as optional. Your app should degrade gracefully if a model does not support camera, Wi-Fi, display batching, local transcription, streaming, RGB LEDs, or controller pairing.| Model | Display | Camera | Microphone | Speaker | Primary strengths |
|---|---|---|---|---|---|
| Mentra Live | No | Yes | Yes | Yes | Camera, microphone, speaker, Wi-Fi, streaming, phone-connected workflows |
| G2 | Yes | No | Yes | No | Display and glanceable UI workflows |
Connection Resilience
- Subscribe to status callbacks before connecting.
- Retry scans manually from the UI instead of scanning forever in the background.
- On mobile OS background transitions, expect Bluetooth behavior to vary by platform.
- Provide a visible “forget device” path that clears both the SDK default device and any app-persisted default-device record.
- If your app persists a default device, restore it with
setDefaultDevice()before callingconnectDefault().

