MRが楽しい

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

UnityプロジェクトのPackageManagerでPCのローカルフォルダからパッケージをインポートする

本日は Unity の小ネタ枠です。
UnityプロジェクトのPackageManagerでPCのローカルフォルダからパッケージをインポートする方法を記事にします。

サンプルパッケージ

今回は以下の記事で作成したプロジェクトの射線シェーダのアセットフォルダを別プロジェクトにインポートしてみます。
bluebirdofoz.hatenablog.com

package.jsonの作成

ローカルフォルダを指定してパッケージとしてインポートする場合、対象のフォルダにpackage.jsonを作成しておく必要があります。
今回は以下のpackage.jsonファイルを作成してフォルダに配置しました。
・package.json

{
  "name": "holomon.shadertest.scanline",
  "version": "1.0.0",
  "displayName": "ScanLineShaderModule",
  "description": "射線シェーダのテストパッケージです",
  "unity": "2022.3",
  "author": {
    "name": "Holomon"
  }
}


ローカルフォルダからパッケージをインポートする

新規プロジェクトを作成して先ほどのフォルダからのインポートを試してみます。
メニューから[Window -> PackageManager]を選択して PackageManager ウィンドウを開きます。

[+]ボタンのプルダウンから[add package from disk..]を選択します。

ファイル選択のダイアログが開くので作成したpackage.jsonファイルを指定して[開く]を実行します。

これで先ほどのフォルダがパッケージとしてインポートされます。

以下の通り、Packagesフォルダからシェーダやマテリアルをドラッグしてプロジェクト内で利用できます。

ローカルフォルダから取り込んだパッケージのファイルは元ファイルを直接参照しています。
ファイルを開いて編集を行うと参照元のファイルが編集される点に注意してください。

ローカルフォルダの参照パス

ローカルフォルダの参照パスは以下のファイルに記述されています。

Packages/manifest.json

絶対パスではなく相対パスで記述することも可能です。