写 Unity 的 C#,在 VRChat 里运行。

Udonite 把普通的 Unity C# 编译成 VRChat 世界所用的 Udon。没有需要另学的方言,也没有禁用关键字清单 —— 你已经在写的代码可以原样在世界中运行。世界本身做不到的部分,由托管服务来补足。

按下、同步、显示

一个任何人都能按的按钮,一个所有玩家都看到的计数,一个跟着它变化的标签。没有 sync 属性,没有序列化调用,没有方言。教程会从空项目开始,大约十五分钟做出它。

  • Interact 在玩家按下物体时运行。
  • Synced<int> 是每个客户端都持有的计数。写入 .Value 就会复制,后加入的玩家也会收到当前值。
  • Subscribe 在值到达时于每个客户端运行,所以标签只在一处更新。
构建你的第一个世界 →

获取编译器

免费,而且会一直免费。把这个列表粘贴到 VRChat Creator Companion,然后从包列表中添加 Udonite。

https://udonite.github.io/vpm/index.json 添加到 VCC

编译器

输入 C#,输出 Udon。泛型、接口等特性是被编译的,而不是被重新实现的,所以写法和任何 Unity 项目一样。

托管服务

从世界向 Discord 或你的手机发送消息,并保存计数器、成绩表或共享开关 —— 即使所有人都离开也不会丢失。

免费使用

编译器是免费的,而且会一直免费。托管服务的免费额度足以用来开发;成为支持者可以提高上限。

成为支持者 →

包

放进世界里就能用的库。每一个都把 Udon 里一处不容易写对的地方,变回普通的 C#。

常见问题

Udonite 是什么?
Udonite 是一个把普通 Unity C# 编译成 Udon(VRChat 世界的脚本运行时)的编译器,并附带一组包和托管服务。你像在任何 Unity 项目里一样编写 MonoBehaviour,保存时 Udonite 就会把它编译成 Udon 程序。详情见编译器文档。
Udonite 和 UdonSharp 有什么不同?
UdonSharp 是一种方言:带有自己规则和禁用功能清单的 C# 子集。Udonite 直接编译你已经在写的 C#,包括泛型、接口、LINQ、async 和 record,只拒绝 Udon 本身做不到的事,并且逐项给出诊断代码和改写建议。UdonSharp 的行为脚本在同一个项目里照常工作。语言支持列出了能编译的内容。
Udonite 免费吗?
编译器和包是免费的,而且会一直免费。托管服务有足够用于开发的免费额度,支持者可以获得更高的上限。
如何安装 Udonite?
用上面的按钮把 Udonite 的仓库列表添加到 VRChat Creator Companion,然后把包加入你的世界项目。你的第一个世界一步步带你完成,快速开始是简短版。
Udonite 支持哪些 Unity 和 VRChat SDK 版本?
VRChat 当前为世界所支持的版本:今天是 Unity 2022.3 和 Worlds SDK 3.10 或更新版本。VRChat 会持续记录当前 Unity 版本和 SDK,Udonite 跟随它们。
托管服务能做什么?
Relay 把消息从世界发送到 Discord Webhook 或你的手机。Storage 保存计数器、成绩表和共享开关,即使所有人都离开也不会丢失。两者都在控制台中管理,并通过 Net 和 Persistence 包从世界中使用。
出了点问题 重新加载