Skip to content

v2.0.0

Latest

Choose a tag to compare

@jamesncl jamesncl released this 13 Apr 15:15

⚠️ Breaking changes!

Migration steps for iOS

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:

  • In Xcode, open <your project root>/ios/Runner.xcworkspace
  • Select 'Runner' in the project navigator
  • Under Targets, select 'Runner'
  • In the General tab, scroll down to 'Frameworks, Libraries, and Embedded Content'
  • Click on + and choose Workspace -> Unity-iPhone -> UnityFramework.framework

After 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.

Migration steps for Android

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 this

If 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 removed

New features

  • Support for Swift Package Manager (you can now use SPM instead of Cocoapods to install flutter_embed_unity) (thanks @timbotimbo). Closes #29
  • Support for installing required Unity scripts as a Unity Package Manager package via Git URL (thanks @timbotimbo). See Unity docs:
    • For Unity 2022.3: https://github.com/learntoflutter/flutter_embed_unity.git?path=example_unity_2022_3_project/Assets/FlutterEmbed
    • For Unity 6000.0 / 6000.3: https://github.com/learntoflutter/flutter_embed_unity.git?path=example_unity_6000_0_project/Assets/FlutterEmbed

Other changes

  • Increased minimum Flutter version to 3.35 due to problems with Unity, Xcode 26 and Flutter JIT. Fixes #73
  • Example Unity 6 project updated to Unity 6000.3.11f1
  • Bump all platform implementation package and platform interface dependencies to 2.0.0
  • Increased Android minSdk to 25 in example app, which is required for Unity 6000.3

Full Changelog: v1.5.0...v2.0.0