Version: 2022.2
平台开发
Deep linking

将“Unity 用作库”用于其他应用程序

如果专家用户使用原生平台技术(例如 Java/Android、Objective C/iOS 或 Windows Win32/UWP)并希望在其游戏或应用程序中包含 Unity 支持的功能,则可以使用专门为此设计的“Unity 用作库”(Unity as a Library)。

本文档假定您具有开发原生平台技术(例如 Java/Android、Objective C/iOS 或 Windows Win32/UWP)的经验,并且熟悉项目结构、语言功能和特定平台配置选项(例如,用户权限)。

Starting with Unity 2019.3, you can use Unity as a Library in other applications by integrating your content and the Unity runtime components in a native platform project. This enables you to embed content that uses 3D or 2D real-time rendering, like AR 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.

以下平台目前支持“Unity 用作库”:

要确定平台版本和其他依赖项,请参阅系统要求页面。

限制

由另一个应用程序托管时,Unity 不能控制运行时生命周期,因此可能无法在所有情况下都奏效。已知限制包括:

  • 在 Android 和 iOS 上:
    • 仅支持全屏渲染。无法仅在部分屏幕上渲染。
    • When Unity is in an unloaded state (after calling Application.Unload), it retains some amount of memory (between 80–180Mb) to be able to instantly switch back and run again in the same process. The amount of memory that’s not released largely depends on the device’s graphics resolution.
  • 在 iOS 上,如果 Unity 运行时完全退出(在调用 Application.Quit 后),无法在同一应用程序会话中重新加载 Unity。
  • 您不能加载多个 Unity 运行时实例或集成多个 Unity 运行时。
  • 您可能需要调整您的原生托管插件才能正常工作。

  • 2019.3 中添加了“Unity 用作库”。NewIn20193
平台开发
Deep linking