You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -115,7 +115,7 @@ is not compatible with other versions, it just mean it's been tested to work wit
115
115
116
116
## Installation
117
117
118
-
This plugin requires Flutter >= 3.3.0
118
+
This plugin requires Flutter >= 3.16.0.
119
119
120
120
First depend on the library by adding this to your packages `pubspec.yaml`:
121
121
```yaml
@@ -143,7 +143,7 @@ You will need to open and export a Unity project, even for running the example.
143
143
144
144
## Setup
145
145
146
-
In the tutorial below, there are steps specific to each platform, denoted by a :information_source: icon followed by
146
+
In the tutorial below, there are steps specific to each platform, denoted by a ℹ️ icon followed by
147
147
the platform name (Android or iOS). You can click on its icon to expand it.
148
148
149
149
### Prerequisites
@@ -155,6 +155,23 @@ the platform name (Android or iOS). You can click on its icon to expand it.
155
155
- A `fuw-XXXX.unitypackage` file, found in the [*unitypackages*](https://github.com/juicycleff/flutter-unity-view-widget/tree/master/unitypackages) folder.
156
156
Try to use the most recent unitypackage available.
157
157
158
+
### Unity versions for publishing
159
+
If you want to publish your app for Android or iOS, you need to satisfy certain Unity version requirements.
160
+
161
+
**iOS**
162
+
Apple's [privacy manifest requirements](https://discussions.unity.com/t/apple-privacy-manifest-updates-for-unity-engine/936052) need a minimal Unity version of:
163
+
* 2021.3.35+
164
+
* 2022.3.18+
165
+
* 6000.0.0+
166
+
167
+
**Android**
168
+
> Starting November 1st, 2025, all new apps and updates to existing apps submitted to Google Play and targeting Android 15+ devices must support 16 KB page sizes.
169
+
170
+
This requires [Unity versions](https://discussions.unity.com/t/info-unity-engine-support-for-16-kb-memory-page-sizes-android-15/1589588):
171
+
* 2021.3.48+ (Enterprise and Industry only)
172
+
* 2022.3.56+
173
+
* 6000.0.38+
174
+
158
175
159
176
### Unity project setup
160
177
These instructions assume you are using a new Unity project. If you open the example project from this repository, you can move on to the next section **Unity Exporting**.
@@ -223,7 +240,7 @@ After exporting Unity, you will need to make some small changes in your iOS or A
223
240
You will likely need to do this **only once**. These changes remain on future Unity exports.
> Because of Apple's privacy manifest requirements, you need a minimal Unity version of 2021.3.35 or 2022.3.18 to publish an app.
409
-
423
+
<summary>ℹ️ <b>iOS</b></summary>
410
424
411
425
1. Open the *ios/Runner.xcworkspace* (workspace, not the project) file in Xcode, right-click on the Navigator (not on an item), go to **Add Files to "Runner"** and add
412
426
the *ios/UnityLibrary/Unity-Iphone.xcodeproj* file.
@@ -476,7 +490,7 @@ allprojects {
476
490
477
491
478
492
<details>
479
-
<summary>:information_source: <b>AR Foundation Android</b></summary>
493
+
<summary>ℹ️ <b>AR Foundation Android</b></summary>
480
494
481
495
1. Check the version of the `XR Plugin Management` in the Unity package manager. Versions `4.3.1 - 4.3.3` contain a bug that breaks Android exports.
482
496
Make sure to use a version <=`4.2.2` or >=`4.4`.
@@ -505,7 +519,7 @@ allprojects {
505
519
</details>
506
520
507
521
<details>
508
-
<summary>:information_source: <b>AR Foundation iOS</b></summary>
522
+
<summary>ℹ️ <b>AR Foundation iOS</b></summary>
509
523
510
524
1. Open the *ios/Runner/Info.plist* and add a camera usage description.
These steps are based on these [Vuforia docs](https://developer.vuforia.com/library/unity-extension/using-vuforia-engine-unity-library-uaal#ios-specific-steps) and [this comment](https://github.com/juicycleff/flutter-unity-view-widget/issues/314#issuecomment-785302253)
538
552
@@ -566,7 +580,7 @@ We recommend using a physical iOS or Android device, as emulator support is limi
566
580
Below are the limited options to use an emulator.
567
581
568
582
<details>
569
-
<summary> <b>iOS Simulators</b> </summary>
583
+
<summary>ℹ️ <b>iOS Simulators</b> </summary>
570
584
571
585
The `Target SDK` option in the Unity player settings is important here.
572
586
-`Device SDK` exports an ARM build. (Which does **NOT** work on ARM simulators)
@@ -610,7 +624,7 @@ The rest depends on the type of processor in your mac:
610
624
</details>
611
625
612
626
<details>
613
-
<summary> <b>Android emulators</b></summary>
627
+
<summary>ℹ️ <b>Android emulators</b></summary>
614
628
615
629
Unity only supports ARM build targets for Android. However most Android emulators are x86 which means they simply won't work.
616
630
@@ -650,19 +664,40 @@ If you computer does not have an ARM processor, like most computers running on I
650
664
651
665
2. Use the method `postMessage` to send a string, using the GameObject name and the name of a behaviour method that should be called.
652
666
667
+
```dart
668
+
// Snippet of postMessage usage in the example project.
669
+
_unityWidgetController?.postMessage(
670
+
'Cube', // GameObject name
671
+
'SetRotationSpeed', // Function name in attached C# script
672
+
speed, // Function parameter (string)
673
+
);
674
+
```
653
675
### Unity-Flutter
654
676
655
677
1. Select the GameObject that should execute the communication and go to **Inspector > Add Component > Unity Message Manager**.
0 commit comments