Unity使用Meta All-In-One SDK保存项目时触发不可变文件夹错误
问题解决:Meta All-In-One SDK 保存预制体到不可变文件夹错误
问题现象
在全新Unity内置渲染管线3D项目中导入Meta All-In-One SDK v66或v68版本,完成配置(推荐修复、Android构建设置、Oculus设为XR插件管理器)后,保存项目时弹出错误:
Saving Prefab to immutable folder is not allowed: Packages/com.meta.xr.sdk.interaction.ovr/Editor/Blocks/Interactors/Prefabs/[BB] Hand Ray.prefab
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
涉及预制体为[BB] Hand Ray和OVR Camera Rig Interaction,场景仅含主相机与方向光(未添加任何自定义对象),该问题会导致打包构建失败,但在已有开发项目中不影响Quest Link下的Play模式运行。
可行解决方案
- 锁定SDK包内的预制体文件:找到报错路径下的两个预制体文件,右键选择Lock(锁定),阻止Unity尝试修改这些包内的只读文件:
Packages/com.meta.xr.sdk.interaction.ovr/Editor/Blocks/Interactors/Prefabs/[BB] Hand Ray.prefabPackages/com.meta.xr.sdk.interaction.ovr/Editor/Blocks/Setup/Prefabs/OVR Camera Rig Interaction.prefab
- 改用自定义预制体副本:将上述两个预制体复制到项目的
Assets目录下,删除编辑器自动生成的对应实例,使用Assets目录下的副本进行开发,让Unity仅修改自定义目录内的文件。 - 回退SDK版本:暂时切换到Meta All-In-One SDK v65版本,该版本未出现此预制体写入权限问题,待官方修复v66/v68的bug后再升级。
- 关闭自动预制体生成:在
Edit > Project Settings > XR Plug-in Management > Oculus中,找到与交互预制体自动生成相关的选项(如"Auto Generate Interaction Prefabs")并关闭,避免编辑器自动修改SDK包内的预制体。
内容的提问来源于stack exchange,提问作者nihilior
相关产品推荐
相关产品推荐

