记录一个奇怪bug

一开始Weapon脚本是继承Monobehavior的,实例化后挂在gameObject上跟着角色。后来改成了不继承mono的,也不实例化。过程都是顺利的,运行也没问题,脚本编辑器也没有错误。

但偶尔有一次报了一些错误,大概是说Weapon (1)上的脚本Weapon 有问题。但是双击错误信息,它也并没有跳转到任何一个对象,或是某一段代码。我想应该是之前做的某个Prefab,挂了Weapon脚本,现在不能用了。然而我找遍了Assets也没找到。然后又逐一打开每个场景,去Hierarchy里面搜索Weapon,也没找到嫌犯。后来把Console里面的消息Clear了也没事了,正常运行。

今天升级了unity版本,从2019LTS到2021LTS,打开后报了6个错误,4个都是这个问题,消失的Weapon(1)又来了。又找了一遍还是没有,搜到一个不是很相关的帖子,试了一下,又保存和重启了Unity,打开后错误没了。没了。没了。。

参考贴:references runtime script in scene file.fixing,怎么回事_百度知道

点Unity菜单栏的Assets > ReimportAll 。

之后是否还会出现我不确定,解决方法是不是找对了也不确定,总之先记录下来。

如果真的是这个方法解决的,那或许是缓存文件夹里面有一些残留的东西。Reimport一下就好了。

万一未来还有后续再更新好了。


更新 :2023.10.17 问题解决!

今天随便点了几下,错误又冒出来了,看来并没有解决。我逐一双击错误信息,都是无跳转(跟之前一样)...... 然而!某一条竟然跳转了,直接让我找到了报错的对象,果然一开始的猜想是对的!

就是很早之前做的两个简陋的临时prefab,挂了该脚本。现在工程和场景里面早已经不用它们了。

之所以搜索不到,因为冒出问题的是prefab里面的子对象Weapon(1),而搜索只能搜索到prefab的名称(Enemy)!

这个问题确实挺头疼的。。教训就是,如果要把继承Mono的脚本改为不继承Mono的,一定要趁早------趁着"哪些对象挂了它?"还没忘干净的时候。。

把他们删掉了,这回应该是画上句号了。

相关推荐
PassionY4 小时前
Unity DOTS从入门到精通之 C# Job System
unity·ecs·dots·jobsystem·burst·baker·entities
red_redemption8 小时前
Unity--Cubism Live2D模型使用
unity·live2d·cubism sdk
咩咩觉主12 小时前
C# &Unity 唐老狮 No.6 模拟面试题
开发语言·unity·面试·c#·游戏引擎·唐老师
HELLOMILI15 小时前
第四章:反射-Reflecting Your World《Unity Shaders and Effets Cookbook》
游戏·unity·游戏引擎·游戏程序·图形渲染·材质·着色器
末零19 小时前
Unity 取色板
unity·游戏引擎
无敌最俊朗@20 小时前
Unity大型游戏开发全流程指南
unity·游戏引擎
虾米神探20 小时前
Unity InputField + ScrollRect实现微信聊天输入框功能
unity·游戏引擎
咩咩觉主21 小时前
C# &Unity 唐老狮 No.7 模拟面试题
开发语言·unity·c#
咩咩觉主1 天前
Unity网络开发基础 (2) 网络协议基础
网络·unity·c#
Tatalaluola1 天前
Unity实现在镜子间反射光柱
unity·c#·游戏引擎