VRChat 非公式日本語ドキュメント

VRChat SDKの検出

Unityプロジェクト内でVRChat SDKを検出する方法はいくつかあります。これは、VRChat SDKに依存しないUnityツールやライブラリを開発する際、それでも VRChat's SDK API を活用したい場合に役立ちます。

Version Defines(バージョン定義)の使用

VRChat SDKを検出する最適な方法は、アセンブリ定義ファイル(Assembly Definition file)で Version Defines を使用することです。

com.vrchat.basecom.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への移行をお願いします!

最終更新: