プロジェクトに必要なパッケージがインストールされているかどうか確認する方法を紹介します。
Version Defines でパッケージがインストールされているかどうか確認する
必要なパッケージをインストールする
Window → Package Manager から必要なパッケージをインストールします。
サンプルでは Cinemachine をインストールしています。
Assembly Definition を作成する
Project ビューで右クリックして、Create → Assembly Definition を選択します。
![Assembly Definition の作成](https://www.papacoder.net/wp-content/uploads/2023/08/unity_20230826_01.png)
Assembly Definition については、こちらのサイトが分かりやすいです。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VW5pdHklMjBBc3NlbWJseSUyMERlZmluaXRpb24lMjAlRTUlQUUlOEMlRTUlODUlQTglRTMlODElQUIlRTclOTAlODYlRTglQTclQTMlRTMlODElOTclRTMlODElOUYmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ21pZGRsZSZzPTE4OTMwOTI1NmUwYjk2Mzg0MmQ2MDk5MmM2NzhiNjBi&mark-x=142&mark-y=151&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdG9SaXNvdVAmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTI2NTIzNDBiNDlkZGUwZmM2MTE4OGNlYzI4MmUxNDA0&blend-x=142&blend-y=491&blend-mode=normal&s=a8ff5e10fc9772547564b9d7fe5163b6)
Unity Assembly Definition 完全に理解した - Qiita
はじめにこの記事におけるソースコードはすべて Public Domain です。また本記事において利用しているUnityバージョンは2019.2です。Assembly Definitionとは…
Version Defines にパッケージを追加する
作成した Assembly Definition を選択して、Inspector から Version Defines に Cinemachine を追加します。
サンプルでは、Cinemachine パッケージがインストールされていたら、USE_CINEMACHINE が有効になるように設定しています。
![Version Defines の追加](https://www.papacoder.net/wp-content/uploads/2023/08/unity_20230826_02.png)
サンプルコードを作成する
サンプルコードを作成します。
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 がインストールされています.](https://www.papacoder.net/wp-content/uploads/2023/08/unity_20230826_03.png)
まとめ
Assembly Definition ファイルは使ったことないですが、ソースコードのアクセス権の管理などで役に立ちそうです。
今回のように、パッケージがインストールされているかどうかで有効になるコードを変更したりもできるので、プロジェクトに導入していきたいですね。
コメント