Skip to content
No description, website, or topics provided.
Objective-C++ Java C# Objective-C
Branch: master
Clone or download

Latest commit

Latest commit 09b1b0f Feb 3, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
NativeAndroidApp Initial of android example commit Oct 22, 2019
NativeiOSApp
NativetvOSApp
UnityProject initial tvOS example Nov 28, 2019
docs Merge pull request #7 from Unity-Technologies/Pavel-Unity-patch-1 Jan 21, 2020
CONTRIBUTING.md Create CONTRIBUTING.md Oct 28, 2019
LICENSE.md
README.md add overhead details to doc Oct 25, 2019

README.md

Unity as a Library integration example to iOS and Android

In some scenario developers using native platform technologies (like Android/Java & iOS/Objective C) want to include in their apps/games features powered by Unity for 3D/2D Real Time Rendering, AR experience, interaction with 3D models, 2D mini games and more.

Starting with Unity 2019.3.0a2, Unity introduced a new feature to use Unity as a library in native apps by integrating the Unity runtime components and content in a native platform project. The Unity Runtime Library exposes controls to manage when and how to load/activate/unload within the native application.

Limitations While we tested many scenarios for Unity as a library hosted by a native app, Unity does not control anymore the lifecycle of the runtime, so we cannot guarantee it'll work in all possible use cases. For example:

  • Unity as a Library supports rendering only full screen, rendering on a part of the screen isn’t supported.
  • Loading more than one instance of the Unity runtime isn’t supported.
  • You may need to adapt 3rd party Plug-ins (native or managed) to work properly
  • Overhead of having Unity in unloaded state is: 90Mb for Android and 110Mb for iOS

How it works The build process overall is still the same, Unity creates the iOS Xcode and Android Gradle projects and generated iOS Xcode and Android Gradle projects have the following structure: A library part (iOS framework and Android Archive (AAR) file) that includes all source & plugins A thin launcher part that includes app representation data and runs library

Step by step explanations on how to include the iOS / Android library part into your native application when needed.

You can’t perform that action at this time.