NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2599 most downloaded on pub.dev
Harness the power of Unity 3D in your Flutter app by embedding Unity as a widget. Useful for adding 3D, gaming or augmented reality (AR) to your app.
Last release 1 months ago
28 Aug 2026
Release timing varies
gaps range from 8 days to 6 months
Nearly every release is documented
notes for 19 of 19 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
33 releases · first in 2023
Migrated flutter_embed_unity_6000_0_android to support Gradle 9 and built-in Kotlin (with backward compatibility for apps using Flutter < 3.44)
August 2026
Note that Unity 2022.3 LTS is now unsupported without an extended industry license and currently does not have support for Gradle 9
Fixed #81 which caused a build error when using the latest Xcode and SPM:
Undefined symbol: OBJC_CLASS$_UnityFramework
One column per quarter.
Due to structural changes required to support Swift Package Manager, you now need to add UnityFramework.framework from your exported Unity-iPhone to y
Due to structural changes required to support Swift Package Manager, you now need to add UnityFramework.framework from your exported Unity-iPhone to your Runner target's list of embedded frameworks in Xcode:
<your project root>/ios/Runner.xcworkspace+ and choose Workspace -> Unity-iPhone -> UnityFramework.frameworkAfter adding UnityFramework.framework, you may encounter a build error Cycle inside Runner; building could produce unreliable results. To solve this, in Xcode, again select the Runner target, and go to the Build phases tab. Drag the Thin Binary build phase downwards until it is below the Embed Frameworks build phase. If this does not resolve the issue, look for any custom Run Script phases you may have added which contain variables pointing to paths in the final built product (eg $TARGET_BUILD_DIR) and move them down also.
You may also need to run flutter clean before rebuilding your project.
The flutter_embed_unity_6000_0_android package is now the default implementation for Android, which means you will need to make a change to your app's pubspec.yaml.
If you are targeting Unity 2022.3, you now need to explicitly override the default implementation for android from Unity 6 to Unity 2022.3 by adding flutter_embed_unity_2022_3_android as a dependency:
dependencies:
...
flutter_embed_unity: ^2.0.0
flutter_embed_unity_2022_3_android: ^1.1.5 # <-- If using Unity 2022.3, add thisIf you are targeting Unity 6, you will already have an override for flutter_embed_unity_6000_0_android in your app's pubspec. You can now remove it:
dependencies:
...
flutter_embed_unity: ^2.0.0
# flutter_embed_unity_6000_0_android: ^1.2.3 # <-- If using Unity 6 LTS, this can be removedhttps://github.com/learntoflutter/flutter_embed_unity.git?path=example_unity_2022_3_project/Assets/FlutterEmbedhttps://github.com/learntoflutter/flutter_embed_unity.git?path=example_unity_6000_0_project/Assets/FlutterEmbedFull Changelog: v1.5.0...v2.0.0
Nothing published for this version
Nothing published for this version
Update readme & Unity versions. by @timbotimbo in #67
Full Changelog: v1.4.0...v1.5.0
26 March 2026
Having both flutter_embed_unity_2022_3_android and flutter_embed_unity_6000_0_android caused build conflicts in certain scenarios. Users who were not affected by these issues should not notice any change, and no modifications are needed to your app pubspec: if you are targeting Unity 6, you should already have flutter_embed_unity_6000_0_android added to your app's pubspec.yaml. If you experience build errors after upgrading to this version please report them.
New feature: export Unity project from command line (thanks @timbotimbo ). See (Advanced: Export from the command line)[https://pub.dev/packages/flutt
27 Sep 2025
Building from command line and fixes for #56 and #51 require updating your .cs scripts in your Unity project using the latest flutter_embed_unity_6000_0.unitypackage or flutter_embed_unity_2022_3.unitypackage asset from releases on Github
Full Changelog: v1.3.1...v1.4.0
Production release of support for Unity 6000.0 LTS
Full Changelog: v1.2.7...v1.3.1
24 June 2025
dependencies:
...
# Add this for Unity 6000.0 support on Android:
flutter_embed_unity_6000_0_android: ^1.2.2 # (Use the latest available)
aaptOptions block from your Unity export's build.gradle file to your app's build.gradle file to prevent increased load time due to double compression, this has been migrated to an androidResources block. Remove the aaptOptions block from your android/app/build.gradle and replace with:android {
...
// Syntax for android/app/build.gradle
androidResources {
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')
}
}
android {
...
// Syntax for android/app/build.gradle.kts
androidResources {
// Read unityStreamingAssets from gradle.properties
val unityStreamingAssetsList = (project.findProperty("unityStreamingAssets") as? String)
?.split(",")
?.map { it.trim() }
?: emptyList()
noCompress += listOf(
".unity3d", ".ress", ".resource", ".obb", ".bundle", ".unityexp"
) + unityStreamingAssetsList
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
}
}
flutter_embed_unity_6000_0.unitypackage asset from releases on GithubBeta release of support for Unity 6000.0 LTS
Beta release of support for Unity 6000.0 LTS
Thanks to @timbotimbo for creating the Android platform implementation for Unity 6
Steps to migrate from Unity 2022.3 to Unity 6000.0:
dependencies:
...
# Add this for Unity 6000.0 support on Android:
flutter_embed_unity_6000_0_android: ^1.2.1-beta.1 # (Use the latest available)Full Changelog: v1.2.7...v1.3.0-beta.1
23 May 2025
Thanks to @timbotimbo for creating the Android platform implementation for Unity 6
dependencies:
...
# Add this for Unity 6000.0 support on Android:
flutter_embed_unity_6000_0_android: ^1.2.1-beta.1 # (Use the latest available)
aaptOptions block from your Unity export's build.gradle file to your app's build.gradle file to prevent increased load time due to double compression, this has been migrated to an androidResources block. Remove the aaptOptions block from your android/app/build.gradle and replace with: androidResources {
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')
}
flutter_embed_unity_6000_0.unitypackage asset from releases on Github[Android] Fix duplicate and missing namespace in UnityLibrary build.gradle. by @timbotimbo in #36
unityLibrary/build.gradle to prevent build error using latest version with flutter 3.29To upgrade to the latest Unity export build script for Android, either manually replace the contents of your Unity project's Assets/FlutterEmbed/Editor/ProjectExporterAndroid.cs with the content from the 1.2.7 release branch on Github, or grab the flutter_embed_unity_2022_3.unitypackage asset from 1.2.7 release and re-import into your Unity project
Full Changelog: v1.2.6...v1.2.7
22 May 2025
unityLibrary/build.gradle when using latest version of Unity 2022.3 (#36 thanks @timbotimbo).unityLibrary/build.gradle to prevent build error using latest version with flutter 3.29To upgrade to the latest Unity export build script for Android, either manually replace the contents of your Unity project's Assets/FlutterEmbed/Editor/ProjectExporterAndroid.cs with the content from the 1.2.7 release branch on Github, or grab the flutter_embed_unity_2022_3.unitypackage asset from 1.2.7 release and re-import into your Unity project
Production release of 1.2.6: Destroy UnityPlayer when the main activity is detached from the plugin to prevent crash when re-opening the app. Fixes #3
21 May 2025
Production release of 1.2.6: Destroy UnityPlayer when the main activity is detached from the plugin to prevent crash when re-opening the app. Fixes #39
Bump flutter_embed_unity_2022_3_android to 1.1.2-beta.2 to fix: ~~Unload~~ Destroy UnityPlayer when the main activity is detached from the plugin to p
27 March 2025
Bump flutter_embed_unity_2022_3_android to 1.1.2-beta.1 to fix: Unload UnityPlayer when the main activity is detached from the plugin to prevent crash
26 March 2025
Updated README with more up to date advice regarding Gradle and AGP (see issue #38 - thanks @timbotimbo)
26 Feb 2025
Updated README with further details on issue #21: workaround available for AR when using Flutter 3.22+ on Android API 32 or earlier (thanks @timbotimb
23 Dec 2024
Lowered Dart SDK constraint to 2.18+ for compatibility with Flutter 3.7
Lowered Dart SDK constraint to 2.18+ for compatibility with Flutter 3.7
Updated README to note issue #21: AR not supported when using Flutter 3.22 on Android API 32 or less (thanks @timbotimbo)
Full Changelog: v1.2.0...v1.2.3
2 Aug 2024
~~Lowered Dart SDK constraint to 2.18+~~ Fixed in 1.2.3
31 July 2024
Updated README to note issue #21: AR not supported when using Flutter 3.22 on Android API 32 or less (thanks @timbotimbo)
22 July 2024
Modify the Xcode project linker flags and Data folder on ios export. by @timbotimbo in #22
Full Changelog: v1.1.1...v1.2.0
4 July 2024
NOTE: To take advantage of the new automated steps for iOS Unity export, you will need to re-import the latest flutter_embed_unity_2022_3.unitypackage found in Releases - you only need the changes in
FlutterEmbed/Editor/ProjectExporterIos.csAlternatively, you can simply modify your existing copy of
FlutterEmbed/Editor/ProjectExporterIos.csaccording to this commit
-Wl,-U,_FlutterEmbedUnityIos_sendToFlutter to Other Linker Flags in Xcode is no longer required (thanks @timbotimbo). See note above.Updated README to add Flutter 3.22 and later to the list of supported versions (3.22 fixes #12 and #14)
New Unity input system touches works on Android
29 March 2024
New Unity input system touches works on Android
13 March 2024
Updated README to note that all Unity versions between 2022.3.10 and 2022.3.18 are not supported with Android 8 or earlier due to #15
4 March 2024
Updated README to note that Flutter 3.16.x and 3.19.x are not supported due to Flutter #141068 and Flutter #142952 (tracked in flutter_embed_unity #14
3 March 2024
Updated README to note limitation of #12
10 January 2024
Update Android and iOS platform dependencies to:
Added EmbedUnityPreferences to allow setting Unity message listening behaviour (see the README)
12 October 2023
EmbedUnityPreferences to allow setting Unity message listening behaviour (see the README)Update Android and iOS platform dependencies to:
3 October 2023
EmbedUnityUpdate Android and platform interface dependency to:
28 September 2023
Update iOS platform dependency to:
27 September 2023
Update iOS platform dependency to:
* Update dependencies
* Minor changes to the README
Breaking change: due to a change in namespace, you MUST upgrade the SendToFlutter.cs script in your Unity project to use the new version from the v0.0…
SendToFlutter.cs script in your Unity project to use the new version from the v0.0.2-beta release assets flutter_embed_unity_2022_3.unitypackage. Alternatively you can review the source for SendToFlutter.cs and make the change to the AndroidJavaClass package namespace manually.Your coding agent can read these notes before it upgrades. Set up the MCP server →