文档连接
资产托管服务
总览
Hosting Services提供了一种集成的功能,用于使用可寻址资产配置数据从Unity Editor中将打包内容提供给本地或网络连接的应用程序版本。托管服务旨在提高测试打包内容时的迭代速度,还可以用于将内容提供给本地和远程网络上连接的客户端。
打包模式测试和迭代
从编辑器播放模式测试到平台应用程序构建测试的转变为开发过程带来了复杂性和时间成本。Hosting Services提供可扩展的嵌入编辑器的内容交付服务,这些服务直接映射到您的Addressables组配置。使用自定义的可寻址配置文件,您可以快速配置应用程序以从Unity Editor本身加载所有内容。这包括部署到可通过网络访问开发系统的移动设备或任何其他平台的内部版本。
Turn-key 内容服务器
您可以通过运行在批处理模式(headless)将Asset Hosting Services部署到服务器环境中,以托管面向 Intranet和 Internet的Unity应用程序客户端的内容。
建立
本文详细介绍了项目的资产托管服务的初始设置。虽然安装指南侧重于编辑器工作流,但是您可以使用API通过设置类AddressableAssetSettings的 HostingServicesManager的属性来配置Hosting Services。
配置新的托管服务
使用Hosting window来添加,配置和启用新的Hosting Services。在编辑器中,选择Window > Asset Management > Addressables > Hosting,或从Addressables Groups窗口菜单中单击Tools > Hosting Services按钮以访问Addressables Hosting窗口。
Addressables Hosting窗口。
要添加新的Local Hosting Service,请单击Create > Local Hosting按钮。
Adding a new Hosting Service
注意:有关实现自定义托管服务类型的更多信息,请参阅关于自定义服务的部分链接。
新添加的服务将出现在Addressables Hosting窗口的Hosting Services部分中。使用Service Name字段输入服务的名称。
新服务默认为禁用状态。要启动服务,请选中Enable复选框。
添加服务后更新的Addressables Hosting窗口。
HTTP Hosting Service在启动时会自动分配一个端口号。端口号已保存并在Unity会话之间重复使用。要选择其他端口,请在Port字段中分配特定的端口号,或使用Reset按钮随机分配其他端口。
注意:如果您重置端口号,则必须执行完整的应用程序构建以生成和嵌入正确的URL。
HTTP Hosting Service现在已启用,并准备提供BuildPath每个资产组中指定目录中的内容。
托管服务配置文件设置
在开发过程中使用Hosting Services时,Unity建议创建一个配置文件,该配置文件配置所有资产组 以使用专门为此目的所创建的目录(一个或多个) 从Hosting Service加载内容。有关配置文件的更多信息,请参见Addressable Assets Profiles。
进入Addressables Profiles窗口后,通过Create > Profile创建一个新的配置文件。在以下示例中,新的配置文件称为“Editor Hosted”。
Creating a service profile.
修改加载路径字段以改为从Hosting Service加载。HttpHostingService是一个URL,该URL使用本地IP地址和端口分配给服务。在Addressables Hosting窗口中,可以使用PrivateIpAddress和HostingServicePort两个配置文件变量来构造URL(例如,http://[PrivateIpAddress]:[HostingServicePort])。
此外,您应该修改所有构建路径变量,以指向项目Assets文件夹之外的公共目录。
配置服务的配置文件
验证每个组的配置是否正确。确保将BuildPath和LoadPath路径设置为各自的配置文件键(keys),并对其进行修改以与Hosting Services一起使用。在此示例中,您可以看到 配置文件变量LoadPath如何扩展中 构建正确的基本URL,以便从Hosted Services加载。
最后,从** Addressables Groups**窗口中选择新的配置文件,创建一个构建,然后部署到目标设备。现在,Unity编辑器通过HttpHostingService服务为应用程序提供所有加载请求。现在,您无需重新部署即可对内容进行添加和更改。重建可寻址内容,然后重新启动已部署的应用程序以刷新内容。
选择一个主机服务配置文件。
批处理模式
您还可以使用Hosting Services 从以批处理模式运行的Unity Editor 提供内容。为此,请使用以下选项从命令行启动Unity:
-batchMode -executeMethod UnityEditor.AddressableAssets.HostingServicesManager.BatchMode
这将从默认AddressableAssetSettings对象加载Hosting Services配置,并启动所有已配置的服务。
要使用替代AddressableAssetSettings配置,请创建您自己的静态方法入口点,以通过UnityEditor.AddressableAssets.HostingServicesManager.BatchMode(AddressableAssetSettings settings)重载进行调用。
定制服务
Hosting Services的设计具有可扩展性,允许您实现自己的自定义逻辑,以便为可寻址资产系统中的内容加载请求提供服务。例如:
- 支持自定义的IResourceProvider,其使用非HTTP协议来下载内容。
- 管理用于提供与您的生产CDN解决方案匹配的内容的外部流程(例如Apache HTTP服务器)。
实现定制服务
HostingServicesManager可以管理任何实现IHostingService接口的类(方法参数和返回值的更多详细信息,请参阅API文档。
要创建新的定制服务:
- 遵循上面configuring a new Hosting Service部分中概述的步骤,但不要选择Create > Local Hosting按钮,而是选择Create > Custom Service按钮。
- 将适用的脚本拖放到其字段中,或从对象选择器中选择它。该对话框将验证所选脚本是否实现了IHostingService接口。
- 要完成添加服务,请单击Add按钮。
紧接着,您的自定义服务将出现在Service Type下拉选项中。
添加自定义资产托管服务