Package selection guidance compiled from public package information, community data, and project usage.
ar_core is a Flutter plugin that enables augmented reality (AR) functionality in mobile applications for both iOS and Android, with support for real-time camera access and 3D object placement. It allows developers to integrate AR experiences directly into their apps using simple APIs. The plugin leverages native AR capabilities on each platform and is designed to work seamlessly across devices. While currently not supporting Web AR, it provides a solid foundation for building interactive AR features in Flutter apps.
Use cases
Creating interactive product previews
Developing AR games
Enhancing educational apps with 3D models
Visualizing architectural designs
Enabling virtual try-ons
Key features
Real-time camera integration
3D object placement in AR space
Cross-platform support (iOS & Android)
Simple Flutter API
Native AR framework utilization
Suitable for
Mobile AR app developers
Educational technology projects
E-commerce product visualization
Game developers seeking AR features
UX designers exploring immersive interfaces
Considerations
No Web platform support
Requires device with AR capability
Limited documentation available
Depends on native AR frameworks
May require additional setup for complex scenes
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
ar_core Flutter Package for Augmented Reality
ar_core is an augmented reality mobile application kit for mobile devices that enables the creation of augmented reality applications.
Many thanks to Arslan Raza for the ar_core, he served as a great basis and starting point for this project.
Features
Display live camera preview in a widget.
Custom Camera, Place anywhere on the Screen.
Choose Asset, Network or 3d objects in png.
Drag, Resize, Rotate, Zoom in and out objects.
Add access to the image stream from Dart.
Getting Started
Installing
Add the Flutter package to your project by running:
flutter pub add ar_core
Or manually add this to your pubspec.yaml file (and run flutter pub get):
dependencies:ar_core:^0.0.1
iOS
The camera plugin functionality works on iOS 10.0 or higher. If compiling for any version lower than 10.0,
make sure to programmatically check the version of iOS running on the device before using any camera plugin features.
The device_info_plus plugin, for example, can be used to check the iOS version.
Add two rows to the ios/Runner/Info.plist:
one with the key Privacy - Camera Usage Description and a usage description.
and one with the key Privacy - Microphone Usage Description and a usage description.
Or in text format add the key:
<key>NSCameraUsageDescription</key><string>Can I use the camera please?</string><key>NSMicrophoneUsageDescription</key><string>Can I use the mic please?</string>
Android
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.
minSdkVersion 21
It's important to note that the MediaRecorder class is not working properly on emulators, as stated in the documentation: https://developer.android.com/reference/android/media/MediaRecorder. Specifically, when recording a video with sound enabled and trying to play it back, the duration won't be correct and you will only see the first frame.
Importing
Add this to your code:
import'package:ar_core/ar_core.dart';
Usage or How to Use
Replace your Scaffold to Augmented(), and it will handle all your view. if you want to pass an image just pass an image as a constructor.