Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

迁移

UdonSharp 0.x(.unitypackage 版本)已弃用,不再受支持。

新版本的 UdonSharp 包含在 VRChat Worlds SDK 中,可以通过 Creator Companion 轻松安装。我们建议您使用 Creator Companion 迁移项目。如果您想手动迁移,请阅读手动迁移。

UdonSharp 1.0 的新功能​

  • UdonSharp 程序中更多 C# 特性:
    • static 方法
    • 泛型 static 方法
    • params、out、ref 和默认参数
    • 扩展方法
    • 继承、虚方法和抽象类
    • 分部类
    • 枚举
  • 多编辑:在 Unity 检查器中同时编辑多个 UdonSharp 脚本
  • 预制体变体、实例和嵌套现在完全支持
  • 编辑器脚本已彻底改革和简化
  • 编译器修复和优化
  • 修复了各种错误、边缘情况和其他问题

已知问题​

当你从非常旧的 UdonSharp 版本迁移项目时,可能会遇到一些已知问题。以下是解决它们的方法。

先试试这个!

UdonSharp 遇到问题了吗?尝试通过"Assets" > "Reimport All"重新导入所有资源。

在许多情况下,这可以修复与 UdonSharp 相关的导入问题,特别是在从旧版本迁移或升级项目时。

嵌套预制体​

问题:UdonSharp 一直警告不要使用嵌套预制体。从旧版本迁移时,嵌套预制体可能会损坏。

症状:Unity 控制台中出现类似 Cannot upgrade scene behaviour 'SomethingOrOther' since its prefab must be upgraded 的错误。

修复方法:首先在 0.x UdonSharp 项目中解包预制体。你也可以打开"Udon Sharp"菜单项并选择"Force Upgrade"。

不属于 U# 程序集​

问题:拥有自己的程序集定义(Assembly Definition)的库也需要一个 U# 程序集定义。

症状:Unity 控制台中出现类似 [UdonSharp] Script 'Assets/MyScript.cs' does not belong to a U# assembly, have you made a U# assembly definition for the assembly the script is a part of? 的错误。

修复方法:

  1. 使用 Project 窗口在相关脚本的相同或父目录中找到以 .asmdef 结尾的文件。
  2. 右键单击包含此程序集定义的文件夹,选择 Create > U# Assembly Definition。
  3. 选择这个新的 U# asmdef,并使用检查器将其"Source Assembly"设置为另一个程序集定义文件。
  4. 完成后可能需要重新启动 Unity。

Newtonsoft.Json.Dll​

问题:某些包包含自己的此 JSON 库副本,而 VRCSDK 本身也会引入它。这会导致库的两个副本冲突。

症状:Unity 控制台中出现提及上述库的错误。可能不在句子开头,但类似 System.TypeInitializationException: the type initializer for blah blah blah...Assets/SketchfabForUnity/Dependencies/Libraries/Newtonsoft.Json.dll。

修复方法:从 Assets 文件夹中删除所有 Newtonsoft.Json.dll 副本。VRCSDK 将通过 Package Manager 为任何需要它的包提供该库。

其他重大变更​

  • 你的 U# 行为名称必须与 .cs 文件名称匹配。
  • 重复的程序资产不能引用相同的 .cs 文件。
  • 程序资产必须指向一个脚本,不能为空。

编辑器脚本变化​

  • 编辑器脚本现在不同了:数据由 UdonSharpBehaviour 的 C# 代理拥有,对应的 UdonBehaviour 在运行时之前为空。
  • 已弃用的 station 和 player join 事件重载不能再使用。

手动迁移​

按照以下步骤升级使用低于 1.0 版本的 UdonSharp 且不使用 Creator Companion 的项目:

  1. 备份你的项目。
  2. 从项目的"Assets"文件夹中删除 VRCSDK 文件夹、Udon 文件夹、UdonSharp 文件夹和 Gizmos/UdonSharp 文件夹。
  3. 下载并安装 World SDK 的 Unity Package 版本。
  4. 下载并安装 UdonSharp SDK 的 Unity Package 版本。