Skip to main content

检测 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 中所有相关的符号使用都已迁移到版本定义。请尽快迁移到版本定义!