前言 / 目录
欢迎来到 Unity 报错集合与解决方案文档!在这里寻找 Unity 报错并了解相应的解决方案。
如何识别 Unity 报错?
1、到底是哪里出了问题?
查看你的SDK控制面板,红色框中的内容标志着模型在什么环节出现了问题,橙色框中的内容是出错有关的“详细信息”。
为了将你的资产打包发送到 VRC 服务器,SDK 会走过三个流程:构建、验证、上传。
构建和验证被 SDK 统称为构建。
如果你的红色框文字显示为 Build Failed,这意味着世界/虚拟形象的构建或验证环节出现了问题,你需要再查看橙色框中的内容以确认具体是哪个环节出现了问题。
接下来要查看 Console(控制台) 以寻找真正的错误原因。
2、检查你的 Console(控制台)
Console 面板的右上角有白黄红三个标志,分别意味着 信息, 警告, 错误。你只需要查看 错误 即可锁定自己的问题。
你需要在右上角分别点击 信息 和 警告 按钮一次,这会仅显示 错误日志,也就是所有“有用”的信息。
不了解报错的含义也没关系,我们准备了一个表格,用来帮助你更快地点对点纠错。
常见错误
此表格还需要更多补充和审查
解决方法处写有“网络问题”意味着你需要参考《VRChat 网络困境指南》。
构建错误
|
原文 |
含义 |
解决方法 |
|
Please fix compile errors before creating new state machine behaviours |
请在创建新 StateBehaviour 前修复编译错误 |
工程存在脚本编译错误,需要修复 |
|
Error while saving Prefab: '{}'. You are trying to save a Prefab with a missing script. This is not allowed. |
Avatar 中包含缺失脚本的引用 |
使用 ALCOM 安装缺失的 VPM 包,一般是 Modular Avatar |
|
构造托管string对象时,字节序列不是有效编码主机名包含非 ASCII 字符。可能原因是主机名包含非 ASCII 字符,或工程文件夹及其路径包含非 ASCII 字符 |
将主机名和工程文件夹及其所在路径重命名为纯英文后重新上传 |
|
|
脚本编译失败,因为存在编译错误。可能原因是工程文件夹及其路径包含非 ASCII 字符 |
将工程文件夹及其所在路径重命名为纯英文后重新上传 |
|
|
An abnormal situation has occured:the PlayerLoop internal function has been called recursively. |
PlayerLoop 内部函数被递归调用。可能原因是工程文件夹及其路径包含非 ASCII 字符 |
将工程文件夹及其所在路径重命名为纯英文后重新上传 |
|
This avatar uses Visemes but the Face Mesh is not specified. |
Avatar 使用了 Visemes 但是没有指定面部网格 |
正确配置 LipSync 的 Face Mesh |
|
The VRCSDK build was aborted because the VRCSDKPreprocessAvatarCallback '{name}' reported a failure. |
VRCSDK 构建终止,因为 VRCSDK 预处理回调 '{name}' 报告了不可恢复错误 |
咨询你身边的 Unity 编程高手。认真的。 |
验证错误
|
原文 |
含义 |
解决方法 |
|
VRCExpressionParameters has too many parameters defined. |
网络同步的 VRC Expression 参数超过 256 bits |
尝试删除一些需要同步参数的功能或预制件 |
|
VRCExpressionsMenu uses a parameter that is not defined |
VRC Expression Menu 引用了未在 VRC Expression Parameter 中注册的参数 |
菜单使用的参数应该被添加到参数列表中 |
|
Images used for Actions & Moods are too large. |
VRC Expression Menu 使用了尺寸大于 256×256 的图片 |
菜单图片尺寸应当小于等于 256×256 |
|
Phys Bone Components: {n} - Avatar exceeds the maximum limit (256) of this component type. |
使用了 '{n}' 个 VRC PhysBone 组件,最多 256 个 |
尝试减少 VRC PhysBone 组件的使用 |
|
Contact Component Count: {n} - Avatar exceeds the maximum limit (256) of this component type. |
使用了 '{n}' 个 VRC Contact 组件,最多 256 个 |
尝试减少 VRC Contact 组件的使用 |
|
This avatar has mipmapped textures without 'Streaming Mip Maps' enabled. |
Avatar 使用了开启 Mipmap 但未开启 Streaming Mip Maps 的纹理 |
在 SDK 面板对应的警告上使用 Auto Fix 或手动开启纹理的 Streaming Mip Maps |
上传失败
|
原文 |
含义 |
解决方法 |
|
上传文件失败 |
网络问题 |
|
|
Could not fetch fresh config file. Using cached if available. |
SDK 无法获得最新的在线配置更新 |
网络问题 |
|
"Missing Credentials" |
IP 变动导致登录会话失效 |
网络问题,每次 IP 变动后需要重启 Unity 或 Reload SDK 后重新登陆 |
|
未授权,请重新登录并重新尝试 |
网络问题,每次 IP 变动后需要重启 Unity 或 Reload SDK 后重新登陆 |
无关信息
|
原文 |
含义 |
解决方法 |
|
Attempted to load the data for an avatar we do not own, clearing blueprint lD |
无法加载不属于你的虚拟形象数据,正在清除蓝图 lD |
只要初次上传失败就会出现该日志,没有实际意义 |
其它错误
和构建上传 VRChat Avatar 无关的其它常见错误及其解决办法:
|
症状描述 |
解决办法 |
|
材质是紫色的 |
没有导入对应着色器包,请阅读安装手册并正确导入。一般是 lilToon;或材质与模型是分开的包,请先导入材质再导入模型 |
|
无法打开 VRCSDK 面板,控制台提示“Could not fetch fresh config file. Using cached if available” |
SDK 无法获得最新的在线配置更新,可能是网络问题 |
|
lilToon 材质检查器上的文本都消失了 |
使用 ALCOM 重装 lilToon |
|
出现编译错误,控制台提示“The Type or namespace name 'lilToonInspector' could not be found” |
更新使用了 lilToon 代码的插件或手动创建程序集定义引用 lilToon 程序集,因为 lilToon 2.0 关闭了程序集自动导出。 |
|
Viseme 不工作 |
LipSync 混合形状没有全部指定,或任意 Playable Layer 控制器中任意动画录制了 lipsync 混合形状 (即使该动画没有播放) |
|
VRCSDK 卡在 Building 状态没有任何响应 |
你是否双击了 prefab 并尝试上传?请创建场景将 prefab 拖进场景中再尝试上传 |
|
录制动画时 Avatar 变成骑自行车姿势,但取消动画录制后变不回去了,我该怎么办? |
这是 Unity 的 Bug。请不要将 Avatar 完全解压缩到场景中,请使用 prefab 和 prefab variant 以避免不可恢复的破坏修改 |
有搞不懂的问题?
如果您遇见了搞不懂的报错,您可以试着加入 QQ群聊 750258838 分享您的问题,群内的大佬会提供解答。
有想要分享的经验?
如果您有想要分享的报错或解决方法,您也可以选择成为一名 内容作者,内容作者可以直接编辑此文档。
您还可以在下方评论区留言,分享您的见解与看法。




