This repository has been archived on 2020-08-22. You can view files and clone it, but cannot push or open issues or pull requests.
flutter-unity-view-widget/README.md

4.0 KiB

flutter_unity_widget

version MIT License All Contributors PRs Welcome

Watch on GitHub Star on GitHub

Flutter unity 3D widget for embedding unity in flutter. Add a Flutter widget to show unity. Works on Android, iOS in works.

Installation

First depend on the library by adding this to your packages pubspec.yaml:

dependencies:
  flutter_unity_widget: ^0.1.2

Now inside your Dart code you can import it.

import 'package:flutter_graphql/flutter_graphql.dart';

Requirements

Preview

How to use

Add Unity Project

  1. Create an unity project, Example: 'Cube'.
  2. Create a folder named unity in react native project folder.
  3. Move unity project folder to unity folder.

Now your project files should look like this.

.
├── android
├── ios
├── lib
├── test
├── unity
│   └── <Your Unity Project>    // Example: UnityDemo App
├── pubspec.yml
├── README.md

Configure Player Settings

  1. First Open Unity Project.

  2. Click Menu: File => Build Settings => Player Settings

  3. Change Product Name to Name of the Xcode project, You can find it follow ios/${XcodeProjectName}.xcodeproj.

  4. Change Scripting Backend to IL2CPP.

  5. Mark the following Target Architectures :

    • ARMv7
    • ARM64
    • x86

image IOS Platform:

Other Settings find the Rendering part, uncheck the Auto Graphics API and select only OpenGLES2.

Add Unity Build Scripts and Export

Copy Build.cs and XCodePostBuild.cs to unity/<Your Unity Project>/Assets/Scripts/Editor/

Open your unity project in Unity Editor. Now you can export unity project with Flutter/Export Android or Flutter/Export IOS menu.

image

Android will export unity project to android/UnityExport.

IOS will export unity project to ios/UnityExport.

Add UnityMessageManager Support

Copy UnityMessageManager.cs to your unity project.

Copy this folder JsonDotNet to your unity project.

Copy link.xml to your unity project.

Do not run in the simulator