检测 VRChat SDK
有几种方法可以在 Unity 项目中检测 VRChat SDK。这在开发不依赖 VRChat SDK、但可能仍想使用 VRChat 的 SDK API 的 Unity 工具或库时非常有用。
使用版本定义(Version Defines)
检测 VRChat SDK 的最佳方法是在程序集定义文件中使用 版本定义(Version Defines)。
当安装了 com.vrchat.base、com.vrchat.avatars 或 com.vrchat.worlds 时,你可以在程序集中定义符号。建议仅在已安装的 VRChat SDK 版本与你的工具兼容时,使用 "Expression" 属性来定义符号。
关于 VRChat SDK 的版本管理,请参阅 Creator Companion 文档。
由于版本定义是 UPM 包的功能,此方法仅适用于基于 VPM 的 SDK(Unity 将其视为 UPM 包)。如果你还想检测传统的 .unitypackage 版本的 SDK,请使用下面的传统方法,通过定义与 VRCSDK 相同的符号,或将以下代码添加到每个文件中:
#if !YOUR_VRCSDK3_AVATARS && !YOUR_VRCSDK3_WORLDS && VRC_SDK_VRCSDK3
#if UDON
#define YOUR_VRCSDK3_WORLDS
#else
#define YOUR_VRCSDK3_AVATARS
#endif
#endif
使用传统的 VRCSDK 定义脚本符号(已弃用)
另一种检测 VRChat SDK 安装的方法是使用 VRCSDK 定义的脚本符号。对于所有 VRCSDK 项目,都会定义 VRC_SDK_VRCSDK3;对于世界项目,还会定义 UDON。
此方法已弃用,将来会被移除。请不要仅依 赖此方法。
在旧的 VRChat SDK 中,VRC_SDK_VRCSDK3 和 UDON 符号曾在内部使用。但由于这些符号在整个项目中有效,许多工具依赖它们来检测 VRChat SDK。
目前,VRChat SDK 中所有相关的符号使用都已迁移到版本定义。请尽快迁移到版本定义!