当前位置: 代码迷 >> 综合 >> AB上的脚本引用丢失,The referenced script is missing!
  详细解决方案

AB上的脚本引用丢失,The referenced script is missing!

热度:53   发布时间:2023-11-24 16:59:00.0

今天工作的时候队友遇到了一个BUG。说是脚本引用丢失。

一个Prefab打包AB后,修改了AB上绑定的脚本。
然后加载AB后出现了 警告 引用丢失。

项目的EditorSetting设置的是 Visible Meta Files。

根据提示,是修改了脚本的NameSpace。

按照我之前的工作经验。脚本上修改逻辑,增删SerializeField内容,肯定是不会出现脚本引用丢失。

然后我做了关于NameSpace的测试。
创建了一个叫做cube的prefab。

1.挂上了脚本 不带NameSpace。
不改动脚本,进入游戏,
加载AB,正常。
创建OBJ,正常。

2.挂上了脚本 不带NameSpace。
改动脚本,增加NameSpace,进入游戏,
加载AB,出现报错
创建OBJ,出现报错(加载都出错了。。创建肯定出错,哈哈,不过测试用例嘛。。就测一下)

3.挂上了脚本 带NameSpace。
不改动脚本,进入游戏,
加载AB,正常。
创建OBJ,正常。

4.挂上了脚本 带NameSpace。
改动脚本,删除NameSpace,进入游戏,
加载AB,出现报错
创建OBJ,出现报错

报错信息是:
The referenced script on this Behaviour (Game Object ‘cube’) is missing!

所以,综上所述, AB和In-Game的代码的NameSpace必须保持一致。

程序学无止尽。
欢迎大家沟通,有啥不明确的,或者不对的,也可以和我私聊
我的QQ 334524067 神一般的狄狄

  相关解决方案