optimize-audio 是 Unity 官方 Agent 插件(unity-technologies/unity-agent-plugin)提供的一项技能,目标是通过导入设置(import settings)与混音器(Audio Mixer)配置来优化音频的内存占用、CPU 开销和播放质量。
用途 该技能用于处理音频相关的性能与质量问题,包括:降低音频内存占用、排查 DSP/混音器 CPU 峰值、修复 3D 声音声道异常、调整压缩质量、移动端采样率覆盖、批量导入设置审计,以及流式与异步加载等。
主要能力
- 预检音频环境:检测平台与采样率、AudioMixer 是否存在、AudioListener 数量。
- 评估现状:查找所有 AudioSource、检查混音器拓扑、读取 DSP 缓冲区大小,并在改动前向用户报告发现。
- 导入设置审计:Force To Mono 与空间设置、压缩质量调优、移动端采样率覆盖、Load Type 与流式加载。
- 混音器审计:测量分组深度、检查静音组上的效果、标记父组上的 SFX Reverb、验证 DSP 缓冲区大小。
- 验证:重新读取 clip 统计与 AudioSource 路由,报告改动前后差异,最多 3 次调整-验证循环。
- 故障排查:立体声 clip 在 3D AudioSource 上只播左声道、Decompress On Load 内存峰值、混音器 CPU 峰值、Vorbis 质量伪影、AudioListener 数量异常、Load In Background 首次播放静音等。
使用方式 该技能通过 Unity CLI 在实时 Editor 中运行 C# 代码。需先使用 unity-cli 技能完成 CLI 安装、确认已连接 Editor、添加项目的 com.unity.pipeline 包,并确认 eval 出现在命令目录中。运行命令形如:unity command eval --caller plugin --skill optimize-audio --code '<snippet>'。eval 编译的是语句块而非文件,因此不能使用 using 指令,类型必须完全限定。不要手动编辑 .meta 文件来更改导入设置,导入器值只有通过实时 Editor 中的 SaveAndReimport() 才会生效。
适用场景 适用于 Unity 项目中音频内存过高、加载缓慢或解压卡顿、DSP 峰值或混音器 CPU 过高、3D 声音异常、语音质量伪影、移动端音频电池与内存、批量音频设置、流式与后台加载等需求。
限制 该技能强调质量优先于速度,每次改动前后都要测量,并始终在设备构建中验证结果(Editor 音频统计仅供参考)。它要求在报告发现后等待用户确认再修改,并在每个 WAIT 检查点停止等待用户响应。若 eval 缺失或 Editor 不可达,应停止而非直接编辑元数据。部分细节(如具体平台推荐值、压缩格式矩阵、采样率建议、Load Type 决策表)位于 resources/platform-settings.md 与 resources/audio-import-api.md 中,本资料未展开具体数值。