メインコンテンツまでスキップ

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