Skip to content

👨🏽‍💻Rolin

Developer

AR and Flutter

Last week I was looking at some AR functionalities to use inside Flutter.
There are a couple of options to use. There are three plugins to communicate with the ARKit and ARCore.
1. https://pub.dev/packages/ar_flutter_plugin (for iOS & Android)
2. https://pub.dev/packages/arkit_plugin (only iOS)
3. https://pub.dev/packages/arcore_flutter_plugin (only Android)

At the time I’m writing this down there are no more plugins to implement AR without an external program like Unity. The first plugin the AR Flutter plugin is useful if you need to develop an Android and iOS app with the same functionalities.
The downside of it is that it’s have not a large options to use. So there is, at this time of writing, no option to track your face or body etc. Also there is only the option to use 3D objects that you can place. So you can’t create a shape within Flutter to place it. But if you’re looking for AR where you can place a 3D-object to the real world this a good plugin to use.

AR kit

If you’re looking to implement AR only for iOS then the ARKit plugin is the right one. This is also the first plugin that became available in the Pub.dev site for implementing AR.
The plugin has a lot of options and examples that you can try out. The downside of it is that it’s only available for iOS. So if you also need to develop for Android you need to duplicate everything with another plugin to make it work on Android.

ARCore

If you’re looking to implement AR only for Android then the ARCore plugin is the right one.
The plugin has a couple of options and examples that you can try out. The downside of it is that it’s only available for Android. So if you also need to develop for iOS you need to duplicate everything with another plugin to make it work on iOS.

Unity

Another option to implement AR is Unity. Unity has the AR foundation where it’s possible to develop with one codebase for Android and iOS. The downside of it is that’s writen in C#. So if you want to use Unity as AR option then you need also have some knowledge of C#.
When you have created the AR application inside Unity then you can use the plugin Flutter Unity Widget (https://pub.dev/packages/flutter_unity_widget). This plugin created the bridge between Flutter and Unity.

The difference between the Flutter plugins that can create AR and Unity is that Unity has a lot of documentation, Discord server for asking for AR questions and a lot of resource for creating AR.
The plugins on the other hand has less documentation or sometimes no documentation. Also there is not a dedicated Discord server for asking questions about the AR plugin. There are some tutorials for AR with the Flutter plugins but that’s not much.