其实是 Mono 的缺陷:工程路径不要有非 ASCII 字符
事实上 Unity 对非 ASCII 字符支持良好:你可以在 GameObject、Prefab 中使用各种语言,甚至是 C# 脚本。但有一个例外,那就是 Unity 使用的 .Net 运行时 Mono。事实上 Mono 一直都对各种字符串编码支持不佳,例如 https://github.com/mono/mono/issues/20968,https://github.com/mono/mono/issues/7117,而且伴随着 Mono 维护的停止,这些问题都无法得到修复(我猜就算有维护也不会有人修的 ;)
目前已知的是,这会导致部分情况下 Unity 的部分代码停止工作,例如 lllegal byte sequence encounted in the input. Parameter name: string,或者 https://feedback.vrchat.com/sdk-bug-reports/p/string-conversion-errors-from-runtimeassemblygetcodebase-with-japanese-locale-an,或者可能导致你在构建上时出现错误提示用户脚本错误(但并不是你的脚本出错而是 Unity 的打包脚本,详见 Unity 的完整日志即 Editor.log
文件)。因此,请保证 Unity 工程目录名及其所在路径不应当有任何非 ASCII 字符,这有助于减少一些 Mono 导致的奇怪问题。