【Unity】Version Defines でパッケージがインストールされているかどうか確認する

Version Defines の追加 Unity
Version Defines の追加

プロジェクトに必要なパッケージがインストールされているかどうか確認する方法を紹介します。

Version Defines でパッケージがインストールされているかどうか確認する

必要なパッケージをインストールする

Window → Package Manager から必要なパッケージをインストールします。
サンプルでは Cinemachine をインストールしています。

Assembly Definition を作成する

Project ビューで右クリックして、Create → Assembly Definition を選択します。

Assembly Definition の作成
Assembly Definition の作成

Assembly Definition については、こちらのサイトが分かりやすいです。

Unity Assembly Definition 完全に理解した - Qiita
はじめにこの記事におけるソースコードはすべて Public Domain です。また本記事において利用しているUnityバージョンは2019.2です。Assembly Definitionとは…

Version Defines にパッケージを追加する

作成した Assembly Definition を選択して、Inspector から Version Defines に Cinemachine を追加します。
サンプルでは、Cinemachine パッケージがインストールされていたら、USE_CINEMACHINE が有効になるように設定しています。

Version Defines の追加
Version Defines の追加

サンプルコードを作成する

サンプルコードを作成します。
Cinemachine がインストールされているかどうかで、通る処理が変わってきます。

using UnityEngine;

public class TestVersionDefines : MonoBehaviour
{
    void Start()
    {
#if USE_CINEMACHINE
        Debug.Log("Cinemachine がインストールされています.");
#else // USE_CINEMACHINE.
        Debug.Log("Cinemachine がインストールされていません.");
#endif // USE_CINEMACHINE.
    }
}

動作確認する

実行して動作を確認します。
Package Manager から Install / Remove をすることでコンソールに出力されるメッセージが変わります。

Cinemachine がインストールされています.
Cinemachine がインストールされています.

まとめ

Assembly Definition ファイルは使ったことないですが、ソースコードのアクセス権の管理などで役に立ちそうです。
今回のように、パッケージがインストールされているかどうかで有効になるコードを変更したりもできるので、プロジェクトに導入していきたいですね。

コメント

タイトルとURLをコピーしました