Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

36 total results found

实验性药剂:为 U# 添加更多编译器优化——UdonSharpOptimizer

关于 UdonSharp 你不得不知道的 {placeholder} 件事 实验性药剂

如何对场景内的 UdonBehaviour 进行 Profiling(性能分析)

关于 UdonSharp 你不得不知道的 {placeholder} 件事 补充章节

作者跑路了,所以你要自己悟一下这个怎么用: 在 UdonBehaviour 的 LoadProgram() 的合适位置插入以下代码。 _managedUpdateProfilerMarker = new ProfilerMarker($"{gameObject.name}.Update()"); _managedLateUpdateProfilerMarker = new ProfilerMarker($"{gameObject.name}.LateUpdate()"); _managedFixedUpda...

避免耗时操作或缓存其结果,如果不能,请搞快点

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

在开始写你的的一个网络同步脚本前,请至少通读一遍官方文档,不要问任何 LLM(AI)

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

不要问 LLM(AI)有关于 U# 的任何事情

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

现阶段有关于 U# 的资料太少,LLM 对 U# 一无所知。即使是拥有海量资料的非常成熟的技术栈,LLM 也会有很大的可能出现胡言乱语(幻觉)的情况。更何况几乎没什么资料的 U# 呢?

一个优秀工程师的基本素养:勤查文档,好好说话

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

给 U# 做版本控制的正确姿势

关于 UdonSharp 你不得不知道的 {placeholder} 件事 补充章节

其实是 Mono 的缺陷:工程路径不要有非 ASCII 字符

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

事实上 Unity 对非 ASCII 字符支持良好:你可以在 GameObject、Prefab 中使用各种语言,甚至是 C# 脚本。但有一个例外,那就是 Unity 使用的 .Net 运行时 Mono。事实上 Mono 一直都对各种字符串编码支持不佳,例如 https://github.com/mono/mono/issues/20968,https://github.com/mono/mono/issues/7117,而且伴随着 Mono 维护的停止,这些问题都无法得到修复(我猜就算有维护也不会有人修的 ;) ...

OnAudioFilterRead 的陷阱

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

我知道这很丑:请把符号定义到 Project Global 里,因为 U# 编译器不尊重程序集定义里的符号定义

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

眼见不一定为实:U# 在 Unity Editor 中的代理对象

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

TL;DR U# 脚本对于 Unity 来说也是有效的 C# 脚本,也就是 Unity 依旧会给 U# 脚本生成对应的 Behaviour。但是这些 Behaviour 并没有实际的功能。在 U# 的环境中这些 Behaviour 都是作为“代理对象”使用的,也就是所有对这些 Behaviour 上的用户方法字段的调用和修改都会把转发到实际的 UdonBehaviour 上(被设置为隐藏)。 在一部分情况下(比如说在运行时实例化 UdonSharpBehaviour),代理对象的状态会和 UdonBehavio...

狸猫换太子:你以为我是 Enum,其实我是 Int 哒!

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

避免使用 partial 关键字,除非你和你的用户都不需要版本管理

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

最高指令:别装 VRChat Package Resolver Tool

关于 UdonSharp 你不得不知道的 {placeholder} 件事

我知道你有很多问号,但是听我的,别装。 // TODO 这里应该有解释,但是真有人用这个吗?想要用的应该自己去发现为什么,这是你应得的奖励 :(

别用 Enum,尽管会让你的代码更好看

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:U# 的缺陷

别听标题的,你得用 Enum。但是你要注意以下所有的问题: 不要指望用户定义的 Enum 的 ToString() 能正常工作 public enum UserEnumType { One, Two } UserEnumType enumValue = UserEnumType.One; Debug.Log(enumValue.One) // Output: 0 (????!) 不要把 Enum 类型转换和操作符/方法参数(可能还有其他的)写在一起 注:也可能有其他 U# 编译器不会进...

不要 public 你的内部实现方法,如果你不得不 public,请在方法名加入 _ 作为前缀

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

public 方法会被导出到符号表,这可能会产生(微乎其微的)性能影响。 public 方法默认可以被网络 RPC 或者 SendCustomEvent() 调用,如果你不想有奇怪的脚本或者破解客户端瞎搞,请避免 public。 如果你不得不 public(比如说给其他脚本使用的公开 API),请加 _ 作为方法名称前缀。