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にする。