VRChat SDKの検出
Unityプロジェクト内でVRChat SDKを検出する方法はいくつかあります。これは、VRChat SDKに依存しないUnityツールやライブラリを開発する際、それでも VRChat's 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への移行をお願いします!
最終更新: