Canvas中出现Null Reference Exception问题求助
问题描述
在Unity项目中,Canvas节点下已有一个背景图子对象,添加同级的Text子对象时能成功创建,但只要编辑该Text的任何字段(比如文本内容、字体大小等),就会触发NullReferenceException。
完整错误信息如下:
NullReferenceException: Object reference not set to an instance of an object UnityEditor.PropertyEditor.DrawEditors (UnityEditor.Editor[] editors) (at /Users/bokken/buildslave/unity/build/Editor/Mono/Inspector/PropertyEditor.cs:1550) UnityEditor.PropertyEditor.RebuildContentsContainers () (at /Users/bokken/buildslave/unity/build/Editor/Mono/Inspector/PropertyEditor.cs:804) UnityEditor.InspectorWindow.RedrawFromNative () (at /Users/bokken/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:144)
可能的解决方法
- 检查Text组件的字体引用:选中Text对象,查看Inspector面板的Font字段是否显示缺失(如显示问号),替换为项目中可用的字体资源。
- 重置Text组件:右键点击Text组件,选择Reset恢复默认配置,之后再重新编辑所需字段。
- 清理编辑器缓存:关闭Unity,删除项目根目录下的
Library文件夹,重启Unity让其重新生成缓存文件。 - 排查自定义编辑器脚本:如果项目中存在针对UI元素或Text的自定义Editor脚本,暂时禁用这类脚本,测试是否还会触发错误。
- 验证Canvas配置:检查Canvas的Render Mode、关联Camera等参数是否正常,排除Canvas本身的异常引用问题。
内容的提问来源于stack exchange,提问作者Margaret Tung
相关产品推荐
相关产品推荐

