こんにちは、Unityエンジニアのオオバです。
Unityはさまざまな機能が「パッケージ」という形で提供されています。
例えば次のようなパッケージです(ほんの一部)。
- TextMeshPro
- TImeline
- Unity UI
- Test Framework
などなど。
これらのパッケージは大きく分けて2種類のインストール方法があります。
- PackageManagerからインストール
- manifest.jsonを直で書き換え
どちらも結果的に「manifest.json」を書き換えます。
パッケージ管理されて便利な一方困ることも発生しました。それはパッケージの修正です。通常インストールしたパッケージの中身は編集してももとに戻ってしまいます。
そこで本記事ではパッケージをローカルで管理する方法を紹介します。特に自作パッケージをゲーム開発しながら更新したい方にはピッタリの記事になると思います。ぜひ最後まで読んでみてください。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
Packageは編集しても元に戻ってしまう
Package ManagerでインストールしたファイルはProjectウィンドウ内のPackagesフォルダにパッケージごとに格納されます。
一見この中のファイルを編集したらそのまま反映されると思ってしまいがちですが、そうは問屋が卸しません。
修正してもパッケージの更新タイミングでもとに戻ってしまいますし、そもそもgitにコミットしてメンバー間で共有することもできません。
通常Package Managerでインストールしたパッケージは編集できないということを覚えておきましょう。
ローカルで更新していきたいパッケージの管理方法
結論、パッケージ一連のファイルを「Packagesフォルダ」に追加することで可能です。
そう Packagesフォルダにパッケージファイル一式を放り込むだけ でパッケージとして認識されます。
※【重要】manifest.jsonは書き換わりません
パッケージをこのフォルダーの下に置くと、Package Manager は、プロジェクトマニフェストの参照に関係なく、自動的に 埋め込みパッケージ として解釈します。
Unity公式マニュアルに記載の通り「埋め込みパッケージ」として認識されるようです。

埋め込みパッケージの運用方法
埋め込みパッケージを使うメリットについて考えていきます。埋め込みパッケージのメリットはなんといっても修正、更新が可能という点です。
開発途中のパッケージは埋め込みパッケージにして開発を進めていくのが良さそうです。
完成したら埋め込みパッケージから通常のPackage Manager経由でインストールすると良いでしょう。
埋め込みパッケージの注意点
Packagesに格納するだけで便利な埋め込みパッケージですが、注意点もあります。追加するフォルダはパッケージである必要がある点です。
パッケージにはルールが決まっていて、package.jsonファイルを含む必要があります。
例えばオオバが作成したUniGitHistoryViewerというパッケージがGitHubにアップロードされていますが、こちらはUnityプロジェクト丸ごとアップロードされています。
実際のパッケージは Assets/UniGitHistoryViewer
です。UniGitHistoryViewer
フォルダをPackagesフォルダに追加しないとパッケージとして認識されない点に注意してください。
manifest.jsonを書き換えてローカルパッケージの管理
もしパッケージがUnityプロジェクトを含んでいた場合、manifest.jsonを使ってローカルパッケージ化する方法もあります。
この場合、Packagesフォルダではなく、MyPackagesなど別のフォルダを新規で作成して管理します。
Package Managerから Install package from disk を選択してパッケージ内のpackage.jsonを選びます。
するとローカルパッケージとして認識されます。
まとめ:Unityのパッケージをローカルで管理・修正する方法
Unityのパッケージは通常、Package Managerで管理されており、直接編集しても元に戻ってしまう仕様になっています。しかし、「埋め込みパッケージ」 を利用すれば、ローカルで自由に編集・更新が可能になります。
Packages
フォルダ内に、package.jsonを含むパッケージフォルダ を配置する- Unityが自動的に認識し、パッケージとして扱う
manifest.json
は変更不要
- Unityプロジェクト全体を含む場合は、
manifest.json
を書き換え - Package Manager の「Install package from disk」機能を使用
- 通常のパッケージは直接編集できない
- 埋め込みパッケージとして
Packages
フォルダに配置すれば編集可能 - package.jsonが必須
- Unityプロジェクトを含む場合はmanifest.jsonを使ってローカル管理
埋め込みパッケージを活用すれば、自作パッケージの開発をスムーズに進められます。開発中のパッケージを随時修正しながら動作確認したい方は、ぜひ試してみてください!

筆者のXをフォローしよう
- Unity6000.0.32f1