roomplan_launcher

A Flutter plugin to launch the native iOS RoomPlan scanner using ARKit and RoomPlan SDK. This plugin allows you to capture the 3D geometry of a room and returns structured JSON output directly to your Flutter app β€” perfect for AR-based measurement, interior design, construction, and smart home apps.

⚠️ Requires iOS 16+ and an ARKit-compatible device.


✨ Features

  • Launches native RoomCaptureViewController with full-screen AR scanning.
  • Automatically processes results and returns structured CapturedRoom JSON back to Flutter.
  • Save the USDZ model so that it can be exported.

πŸš€ Getting Started

1. Install the plugin

Add to your pubspec.yaml:

dependencies:
  roomplan_launcher: ^1.2.1

2. iOS Setup

Ensure your iOS project meets the following requirements:

  • πŸ“± Deployment target: iOS 16.0+

  • πŸ“· Camera usage permission: Add the following entry to your Info.plist:

  <key>NSCameraUsageDescription</key>
  <string>Room scanning requires camera access</string>

🧠 Usage

Use the 'launch' method to invoke the native scanning screen and use the 'onRoomCaptureFinished' callback to get the result.

  void initState() {
    RoomplanLauncher.onRoomCaptureFinished = (json) {
      //Do something with the JSON here
      print(json);
    };
    super.initState();
  }
ElevatedButton(onPressed: RoomplanLauncher.launch, child: Text("Launch RoomPlan"))

πŸ“‚ Output Format

The returned String is a JSON-encoded representation of Apple's CapturedRoom object.


πŸ”§ Example App

Check the example/ directory for a full integration demo.


❗ Requirements

  • iOS 16.0+
  • ARKit-compatible device (e.g., iPhone 12+ or recent iPad Pro)

πŸ™ Credits

Built on top of Apple’s RoomPlan SDK. Plugin maintained by Yashodhan Killekar.