版本:2022.3
指定Android Player命令行参数
Android上的深度链接

将Unity集成到Android应用程序中

本页介绍如何使用Unity as a Library功能将Unity Runtime Library集成到Android应用程序中。

您可以使用此功能包括Unity-powered功能,例如3D/2D Real-Time Rendering、,应收账增强现实更多信息
请参阅中的词汇表
将体验、3D模型交互或2D迷你游戏融入您的应用程序。Unity Runtime Library公开了用于管理何时以及如何加载、激活和卸载应用程序中的内容的控件。

重要:如果您将项目升级到Unity 2019.4或更高版本,Unity作为库的引入可能需要您进行调整本地的管理 插件在Unity之外创建的一组代码,用于在Unity中创建功能。您可以在Unity中使用两种插件:托管插件(使用Visual Studio等工具创建的托管.NET程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅中的词汇表
以在Android上正常工作。对进行更改的插件梯度一个自动化多个构建过程的Android构建系统。这种自动化意味着许多常见的构建错误不太可能发生。更多信息
请参阅中的词汇表
清单需要使用中概述的等级更改在本机iOS/Android应用程序中使用Unity作为库.

它是如何工作的

当你从Unity构建Gradle项目时,你不需要做任何不同的事情。

Android Gradle项目Unity生成的具有以下结构:

  • 中的库部件单位图书馆可以集成到任何其他Gradle项目中的模块。它包含Unity运行时和Player数据。
  • 中的一个薄启动器部件发射器包含应用程序名称及其图标的模块。这是一个启动Unity的简单Android应用程序。您可以用自己的应用程序替换此模块。

要将Unity集成到另一个Android Gradle项目中,必须包括unity库通过设置.等级文件。

这个储存库包含演示如何将Unity集成到Android应用程序中的示例项目和插件,以及进一步的文档。

要控制玩家,请转发一个启动Unity活动的意向,并在需要时扩展它。有关更多信息,请参阅Android开发人员文档意图和意图过滤器。您也可以使用UnityPlayer Java API。

IUnityPlayer生命周期事件

IUnityPlayerLifecycleEvents提供了一种与Unity Player的两个重要生命周期事件交互的方式:

  • 卸载-应用程序调用IUnityPlayer生命周期事件.onUnityPlayerUnloaded什么时候应用。卸载UnityPlayer.unload()卸载Unity Player。这会使Unity Player处于暂停状态,卸载所有内容场景场景包含游戏的环境和菜单。将每个独特的场景文件视为一个独特的级别。在每一个场景中,你都会放置你的环境、障碍物和装饰品,基本上是设计和构建你的游戏。更多信息
    请参阅中的词汇表
    ,但将其他所有内容都加载到内存中。
  • 退出-应用程序调用IUnityPlayerLifecycleEvents.onUnityPlayer退出当联合玩家退出时。运行Unity的进程在此调用后结束。

您可以传递IUnityPlayer生命周期事件到UnityPlayer构造函数,或重写的子类中的方法UnityPlayer(联合玩家)UnityPlayer活动.

限制

Unity不控制运行时生命周期,因此Unity作为一个库可能不适用于所有可能的用例。已知的限制包括:

  • Unity as a Library只支持全屏渲染,不支持在部分屏幕上渲染。
  • 您不能加载或集成Unity运行时的多个实例。
  • 您可能需要调整第三方插件(两者都是本地的管理)使用Unity运行时。
  • Unity as a Library与Xamarin应用程序平台.
  • 您不能将Unity Runtime Library作为动态模块与播放功能交付.

额外资源

指定Android Player命令行参数
Android上的深度链接