ATIV_DETECTED
UniVRMのインストールをスクリプトから検出する仕組みを提供します。
asmdefのversionDefinesを利用する場合はUniVRMをUPMでインストールしている場合のみ検出可能です。
ATIV_DETECTED_VRM0
および ATIV_DETECTED_VRM1
はそれに加えて、UniVRMをunitypackageでインス トールしている場合も検出可能です。
前提条件
UniVRMのバージョンは判定できません。
UniVRMのバージョンを判定したい場合は、asmdefのversionDefines、またはC#リフレクションを用いて判定してください。
役に立つ状況
UniVRMのasmdefを参照したり、UniVRMの存在によって挙動が変化するエディタ拡張ツールを作る場合に便利です。
使い方
UniVRMのVRM0.xがインストールされている場合、Unityのプロジェクト全体で ATIV_DETECTED_VRM0
が定義されます。
UniVRMのVRM1.0がインストールされている場合、Unityのプロジェクト全体で ATIV_DETECTED_VRM1
が定義されます。
凝った使い方
単独ではUPMでインストールされたUniVRMを検出し、Avatar Tinker Vistaが入っている場合はunitypackageでインストールされたUniVRMを追加で検出する場合は、以下のいずれかの方法が使えます。
- asmdefの
versionDefines
を普通に定義する。 asmdefのdefineConstraints
や条件コンパイルでは、|| ATIV_DETECTED_VRM0
で、versionDefines
で定義されたシンボルとATIV_DETECTED_VRM0
の両方を参照する。 - または、asmdefの
versionDefines
で定義されるシンボルをATIV_DETECTED_VRM0
またはATIV_DETECTED_VRM1
にする。