Version: 2021.1
平台开发
启用深层链接

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

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

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

从 Unity 2019.3 开始,您可以将内容和 Unity 运行时组件集成到原生平台项目中,从而将“Unity 用作库”用于其他应用程序。这样就可以嵌入使用 3D 或 2D 实时渲染的内容,例如 AR 体验、与 3D 模型交互、2D 迷你游戏等。Unity 运行时库展示了多种方法来管理如何在原生应用程序中加载、激活和卸载。

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

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

限制

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

  • 在 Android 和 iOS 上:
    • 仅支持全屏渲染。无法仅在部分屏幕上渲染。
    • Unity 处于卸载状态(调用 Application.Unload 之后)时,它将保留一些内存(80–180Mb 之间),以便能够立即切回并在同一进程中再次运行。未释放的内存量很大程度上取决于设备的图形分辨率。
  • 在 iOS 上,如果 Unity 运行时完全退出(在调用 Application.Quit 后),无法在同一应用程序会话中重新加载 Unity。
  • 您不能加载多个 Unity 运行时实例或集成多个 Unity 运行时。
  • 您可能需要调整您的原生托管插件才能正常工作。

  • 2019.3 中添加了“Unity 用作库”。NewIn20193
平台开发
启用深层链接