Use Unity as a Library to insert Unity-powered features into applications built with native platform languages, such as Java, Swift, or C++.
You can integrate your content and the Unity runtime components in native platform projects. This allows you to embed content that uses 3D or 2D real-time rendering, like ARAugmented Reality More info
See in Glossary experiences, interaction with 3D models, and 2D mini-games. The Unity Runtime Library exposes ways to manage loading, activating, and unloading within the native application.
You must have experience developing for native platform technologies such as Java/Android, Objective C/iOS, or Windows Win32/UWP. You also need familiarity with the project structure, language features, and specific platform configuration options, such as user permissions.
The following platforms currently support Unity as a Library:
To determine platform versions and other dependencies, refer to the system requirements page.
When hosted by another application, Unity doesn’t control the runtime lifecycle, so it might not work in all scenarios. Known limitations include:
Application.Unload), it retains memory (between 80 and 180 MB) to instantly switch back and run again in the same process. The amount of retained memory depends on the device’s graphics resolution.Application.Quit), you can’t reload Unity again in the same app session.