避免使用 internal 可见性
如果你使用 internal
关键字,你的方法或属性可能会随机无法导出,而且不会有任何错误提示。
截止到 VRCSDK 版本 3.8.2
,这一问题一直没有得到修复。在 VRCSDK 解决这个错误前,你至少不应该在 UdonSharp 脚本中使用 internal
修饰类属性访问器或类方法。由于 UdonSharp 从未考虑过该访问修饰符,取决于 U# 程序集被编译的顺序,你的 UdonSharp 脚本对应的类方法将随机的被导出或不被导出。
这听起来很奇怪,对吗?
这篇文章将带领你深入探索 UdonSharp 编译器的实现,并解释该问题的具体原因。
但在阅读下文之前,为了理解一些复杂概念,你可能需要先阅读一下:欢迎来到 UdonSharp 的世界:UdonSharp 的前世今生