You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity URP构建抛出MissingMethodException(Mono后端)求助

问题:Mono后端构建Windows游戏触发MissingMethodException崩溃

使用Mono后端构建Windows 64位游戏时,出现反复的MissingMethodException导致崩溃,错误源于URP 12.1.8核心代码调用内部原生方法GetScriptWidth()。编辑器运行正常,仅构建版本出现该异常且无限循环。

错误日志

MissingMethodException:  assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) UnityEngine.Texture.GetScriptWidth()
  at UnityEngine.Texture.get_width () [0x00001] in C:\buildslave\unity\build\Runtime\Export\Graphics\Texture.bindings.cs:40
  at UnityEngine.Texture2D.SetPixels (UnityEngine.Color[] colors) [0x00001] in C:\buildslave\unity\build\Runtime\Export\Graphics\Texture.cs:765
  at UnityEngine.Rendering.TextureCurve.GetTexture () [0x000ae] in E:\Things\UTTT\Library\PackageCache\com.unity.render-pipelines.core@12.1.8\Runtime\Utilities\TextureCurve.cs:145

注:日志可能不完整

环境信息

  • Unity版本:2021.3.15f1 LTS
  • 渲染管线:URP 12.1.8
  • 平台:Windows 64位
  • 脚本后端:仅Mono
  • 托管剥离:已禁用
  • 编辑器状态:运行正常
  • 构建版本状态:异常无限循环

已尝试操作

  • 完全禁用托管剥离
  • 删除Library文件夹并重新导入所有资源

解决方案建议

1. 对齐URP与Unity版本兼容性

URP 12.x适配Unity 2021.2+,但小版本间可能存在兼容性问题:

  • 升级URP到2021.3.15f1对应的最新兼容补丁版(通过Package Manager查找)
  • 或降级URP到12.1.7等更稳定的同系列版本

2. 调整Mono后端构建配置

打开Player Settings > Other Settings > Configuration,检查并修改:

  • 确保Api Compatibility Level设置为.NET Framework(而非.NET Standard 2.0,避免API缺失)
  • 勾选Allow 'unsafe' code(原生方法调用可能依赖此设置)
  • 开启Use incremental GC,尝试终止异常循环

3. 修复TextureCurve相关资源

  • 排查项目中所有使用TextureCurve的资源,重新创建并替换疑似损坏的曲线资源
  • 若有自定义扩展TextureCurve的代码,检查是否存在错误调用Texture.width的逻辑

4. 深度清理项目后重构

  • 删除项目根目录下的obj、bin文件夹(若存在)
  • 通过Unity Hub执行「重新生成项目文件」
  • 构建时选择Clean Build,彻底清除旧构建残留文件

5. 验证Unity安装完整性

使用Unity Hub对当前2021.3.15f1 LTS版本执行「验证安装」,修复可能缺失或损坏的原生绑定文件(如Texture.bindings.cs对应的原生实现)

内容的提问来源于stack exchange,提问作者うんう

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 04:43:13