InstantAsset 是团结引擎提供的全新资产工作流,通过直接复用资产导入结果,实现 “Import To Runtime” 的运行时资产管理方式。
请观看资产免构建工作流的演示视频:
传统 AssetBundle 工作流的瓶颈
在团结/Unity项目开发中,AssetBundle 是目前最常见的资产管理方式之一,广泛用于资产分发、热更新与运行时加载。
但随着项目规模增长,传统 AssetBundle 工作流也会逐渐暴露一些问题,例如:
资产构建耗时较长
容易产生资产冗余
依赖关系管理复杂
尤其在资产频繁变更的项目中,开发者往往需要频繁等待 Bundle 构建完成,影响整体游戏迭代效率。
这些瓶颈的根源在于传统工作流的设计:Artifact 只在编辑器内部使用,运行时必须重新构建 AssetBundle。如果运行时能直接使用 Artifact,这些耗时的构建步骤就可以省掉。针对这些问题,我们设计了 InstantAsset。
InstantAsset 方案概述
InstantAsset 是团结引擎提供的一套全新资产管理方案,核心思路是复用 Artifact 避免重复序列化,支持免构建模式运行。
传统工作流中,资源导入后还需经过构建环节才能生成可供运行时使用的 AssetBundle 文件。InstantAsset 打通了编辑器导入结果与运行时资源系统之间的链路,资源在编辑器中正常导入后,即可直接在运行时使用,无需先构建 AssetBundle。
![]()
具体来说,InstantAsset 通过以下三个个关键设计实现:
复用 Artifact,省去重复序列化
基于 GUID 的运行时资产映射
基于 Accelerator 的 Runtime 资产服务层
核心机制
复用 Artifact,省去重复序列化
团结引擎在资源导入阶段会生成对应的 Artifact(导入缓存)。传统工作流中,这些 Artifact 仅在编辑器内部使用,运行时仍需重新序列化资产对象并构建 AssetBundle 数据。InstantAsset 可以运行时直接复用 Artifact 数据,避免对资产对象的重复序列化。资源导入完成后,无需再经过额外的序列化与构建环节,即可进入运行时加载流程。
需要注意的是,Shader、SpriteAtlas、VisualEffectAsset、ComputeShader 这几类资产的 Artifact,运行时无法直接使用,仍需做完整的对象重新序列化。
基于 GUID 的运行时资产映射
为了支持运行时 Artifact 的依赖解析,InstantAsset 对资产引用机制进行了扩展。在编辑器侧,系统通过 GUID 标识资产及其依赖关系;然而在传统运行时,这类元数据通常会被剔除,导致运行时复用 Artifact 时遭遇引用解析失败。为此,InstantAsset 在运行时完整保留了资产的 GUID 映射关系,实现了统一的资产引用管理与动态解析,同时也有效地避免了资产冗余问题。
基于 Accelerator 的 Runtime 资产服务层
InstantAsset 基于 Accelerator(Cache Server)实现了 Artifact 分发能力,并为 Runtime Player 封装了 RESTful API(get-asset-info、get-artifact)。在免构建模式下,它替代了编辑器中 AssetDatabase 的部分功能(GUID→路径映射、依赖查询、资产定位等),使 Runtime Player 无需本地构建即可按需获取 Artifact。统一编辑器和 Player 的资产元信息,简化资源依赖关系管理。
使用指南
InstantAsset 主要包括 InstantAssetManager 和 InstantAssetTable 两个重要的类。InstantAssetManager 是用于所有资产表和生命周期管理的单例管理器。InstantAssetTable 是具有优化内存表示的资产映射容器。
相关的接口文档请参考 :
https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/InstantAsset.html https://docs.unity.cn/cn/tuanjiemanual/ScriptReference/InstantAssetTable.html 文档用于资产的加载和卸载等管理操作。免构建模式下需要配置 Cache server,业务层可以无需构建情况下实现资产和场景的管理。启用 InstantAsset,开启免构建模式
1. Project Settting 窗口的 Editor页面中配置Cache Server,将 Cache Server-Mode 设为 Enabled,并配置开发机的局域网 IP(手机等设备需通过局域网 IP 访问 Accelerator,不可使用 127.0.0.1),点击 Check Connection 测试连通情况:
![]()
2. Project Settting窗口的Editor页面中开启Instant Assets相关功能,参考如下:
![]()
[1] 详细技术原理:[InstantAsset 技术原理深度解析]
https://developer.unity.cn/projects/6a190f80edbc2a8ee22ec066
[2] 完整使用文档:[InstantAsset 使用说明]:
https://docs.unity.cn/cn/tuanjiemanual/Manual/InstantAssetIntro.html
[3] 快速上手教程:[InstantAsset 快速入门]:
https://docs.unity.cn/cn/tuanjiemanual/Manual/InstantAsset-QuicklyStart.html
[4] 免构建快速上手教程:[InstantAsset 免构建快速入门]:
h ttps://docs.unity.cn/cn/tuanjiemanual/Manual/InstantAsset-QuicklyStart-DatalessPlayer.html
Unity 官方微信
第一时间了解Unity引擎动向,学习进阶开发技能
每一个“点赞”、“在看”,都是我们前进的动力
![]()
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.