VRChat SDKの検出
UnityプロジェクトでVRChat SDKを検出する方法はいくつかあります。これは、VRChat SDKに依存しないUnityツールやライブラリを開発する際、それでもVRChatのSDK APIを活用したい場合に役立ちます。
Version Definesの使用
VRChat SDKを検出する最良の方法は、アセンブリ定義ファイル(assembly definition file)のVersion Definesを使用することです。
com.vrchat.base、com.vrchat.avatars、または com.vrchat.worlds がインストールされている場合に、アセンブリ内でシンボルを定義できます。
インストールされているVRChat SDKのバージョンがツールと互換性がある場合にのみ、「Expression」プロパティを使用してシンボルを定義することを推奨します。
VRChat SDKのバージョン管理については、Creation Companionのドキュメントを参照してください。
Version DefinesはUPMパッケージ向けの機能であるため、この方法はUnityでUPMパッケージとして扱われるVPMベースのSDKでのみ機能します。
レガシーな.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におけるこれらのシンボルの使用はすべてVersion Definesへ移行されています。可能な限り早急にVersion Definesへ移行してください!
最終更新: