MRが楽しい

MRやVRについて学習したことを書き残す

UnityプロジェクトにZenjectをインポートする

本日は Zenject の小ネタ枠です。
Unity プロジェクトに Zenject をインポートする手順を記事にします。

Zenject

Zenject は Unity で動作するDI(依存性注入)フレームワークです。
Zenject を用いることで参照関係/所有関係を自由に構築することが可能となり、疎結合なコードを記述できるようになります。

現在、Zenject には大きく分けて2つのバージョンが存在します。
大元の modesttree 社が作成した Zenject リポジトリは現在長らく管理が行われていません。
github.com

もう1つ modesttree 社を退職した方が上記リポジトリをフォークして機能追加している Extenject リポジトリがあります。
github.com

現状でもし Zenject を利用したい場合は更新・管理されている Extenject の方を利用するのが良いです。
今回は Unity Assets Store から Extenject を取得します。

UnityにExtenjectをインポートする

Extenject は Unity 2018.4.13 以上の環境で動作します。
今回、サンプルプロジェクトとして Unity 2021.3 で新規プロジェクトを作成しました。

Extenject は Unity Assets Store からインポートできます。
以下の Store ページを開き、自身のアカウントでログインして[Add to My Assets]を実行します。
assetstore.unity.com

再び Unity プロジェクトを開きます。
Unity 側でログインを行っていない場合はこちらも[Sign in]からログインを行います。

メニューから[Window -> Package Manager]を選択して Package Manager ウィンドウを開きます。
[Package]のプルダウンから[My Assets]を開きます。

一覧に先ほどの Extenject のパッケージが表示されるので、これを選択して[Download]を実行します。

ダウンロードが完了したら最後に[Import]を実行します。

これで Unity に Extenject をインポートすることができました。