记录一个奇怪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的,一定要趁早------趁着"哪些对象挂了它?"还没忘干净的时候。。

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

相关推荐
沉默金鱼2 小时前
Unity实用技能-格式化format文字
ui·unity·游戏引擎
jyy_992 小时前
通过网页地址打开unity的exe程序,并传参
unity
qq_2052790517 小时前
Unity TileMap 使用经验
unity·游戏引擎
心灵宝贝19 小时前
Mac Unity 2018.dmg游戏工具 安装步骤 简单易懂教程(附安装包)
macos·unity·游戏引擎
TO_ZRG20 小时前
Unity SDK 通过 Registry 分发及第三方依赖处理指南
unity·游戏引擎
龙智DevSecOps解决方案1 天前
Perforce《2025游戏技术现状报告》Part 1:游戏引擎技术的广泛影响以及生成式AI的成熟之路
人工智能·unity·游戏引擎·游戏开发·perforce
WarPigs2 天前
Unity编辑器开发笔记
unity·编辑器·excel
wow_DG2 天前
【Python✨】VS Code 秒开 Python 类型检查:一招 mypy + settings.json 让你的 Bug 原地现形!
python·json·bug
霜绛2 天前
Unity:lua热更新(三)——Lua语法(续)
unity·游戏引擎·lua
世洋Blog3 天前
更好的利用ChatGPT进行项目的开发
人工智能·unity·chatgpt