Unity-将“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 用作库”:
Android
iOS
Windows 和通用 Windows 平台
要确定平台版本和其他依赖项,请参阅系统要求页面。
限制
由另一个应用程序托管时,Unity 不能控制运行时生命周期,因此可能无法在所有情况下都奏效。已知限制包括:
在 Android 和 iOS 上:
仅支持全屏渲染。无法仅在部分屏幕上渲染。
Unity 处于卸载状态(调用
Application.Unload
之后)时,它将保留一些内存(100Mb 或更少),以便能够立即切回并在同一进程中再次运行。在 iOS 上,如果 Unity 运行时完全退出(在调用
Application.Quit
后),无法在同一应用程序会话中重新加载 Unity。您不能加载多个 Unity 运行时实例或集成多个 Unity 运行时。
您可能需要调整您的原生和托管插件才能正常工作。