TextMeshPro 3.0.6检测不到TMP必要资源(NullReferenceException)求助
错误信息
NullReferenceException: Object reference not set to an instance of an object TMPro.TMP_Settings.get_defaultStyleSheet ()
at ./Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_Settings.cs:303
解决步骤
重新导入TMP核心资源
执行Unity顶部菜单的Window > TextMeshPro > Import TMP Essential Resources,即使之前导入过,重复操作一次,强制修复TMP_Settings关联的默认样式表资源。手动修复TMP_Settings资产
在Project窗口搜索TMP_Settings,选中对应的.asset文件后,在Inspector面板检查Default Style Sheet字段。如果为空,手动选择Assets/TextMeshPro/Resources/Styles/TMP Default Style Sheet文件。清理Library缓存
关闭Unity,删除项目根目录下的Library文件夹,重启Unity让系统重新生成缓存文件,解决PackageCache中脚本与资源不匹配的问题。重新安装TMP包
打开Window > Package Manager,找到TextMeshPro包,点击右上角齿轮图标选择Reinstall,重新安装3.0.6版本,确保所有脚本和资源文件完整无损坏。排查场景中的TMP组件
检查场景内所有TextMeshPro组件,确认是否有组件引用了丢失的样式表,将这些组件的样式表重新指定为默认的TMP样式表。
内容的提问来源于stack exchange,提问作者Cu be

