| この記事の要点 |
|
Unity のパッケージ取り込み方法 3 種
Unity に外部アセット / ライブラリを取り込む方法は、配布形式によって主に 3 通りあります。それぞれの使い方と仕組みを解説します。
| 方法 | 配布形式 | 取り込み口 | 主な用途 |
|---|---|---|---|
| Package Manager | UPM パッケージ | Window → Package Manager | 公式機能、Unity 純正、社内 npm |
| .unitypackage | 単一ファイル(.unitypackage) | Assets → Import Package | Asset Store の旧配布、配布物 |
| Asset Store(My Assets) | UPM または .unitypackage | Package Manager の My Assets タブ | 購入済みストアアセット |
方法 1: Package Manager(標準)
Unity 2018.1+ の標準窓口。Window → Package Manager を開くと、左上のドロップダウンで取得元を切替できます:
- Unity Registry: Unity 公式パッケージ(Cinemachine、ProBuilder、TextMeshPro 等)
- In Project: 現プロジェクトにインストール済み一覧
- My Assets: Asset Store で購入したアセット
- Built-in: Unity 本体の標準モジュール
Unity Registry からインストール
- Package Manager を開く
- 左上ドロップダウン → Unity Registry
- パッケージを選択 → 右下 Install
- バージョンが複数ある場合は See other versions
Git URL からインストール
GitHub 上のリポジトリを直接パッケージとして取り込めます:
- Package Manager 左上の + ボタン
- Install package from git URL... を選択
- 例:
https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask
// Packages/manifest.json に直接追加もできる
{
"dependencies": {
"com.unity.cinemachine": "2.10.0",
"com.unity.textmeshpro": "3.0.6",
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask"
}
}
Local パッケージ
ローカルフォルダにある UPM パッケージを取り込む方法。社内ライブラリの開発時によく使います:
- Package Manager → + → Install package from disk...
- パッケージフォルダ内の
package.jsonを選択
方法 2: .unitypackage ファイル
古い形式(Asset Store 旧配布、コミュニティ配布)。エクスプローラからファイルを直接プロジェクトにドラッグするか、メニューから取り込みます:
- Assets → Import Package → Custom Package...
- .unitypackage ファイルを選択
- 取り込むファイル一覧のダイアログが出る → 必要なものだけチェック
- Import ボタン
取り込み先は Assets/ 配下にそのまま展開されます。同名ファイルがあれば上書きされる点に注意。
逆: .unitypackage を作る
- Project ウィンドウでフォルダ / ファイルを選択
- 右クリック → Export Package...
- 依存関係も含めるかチェック → Export
方法 3: Asset Store からインポート
Unity 2020+ では Asset Store の購入アセットは Package Manager の My Assets タブからインポートします(ブラウザでの操作は購入のみ):
- https://assetstore.unity.com でログイン → 購入
- Unity Editor で Package Manager を開く
- 左上ドロップダウン → My Assets
- アセット選択 → Download → Import
manifest.json と package.json
Unity の UPM はパッケージマネージャ npm をベースにしています。設定ファイルは 2 種類:
Packages/manifest.json(プロジェクト全体)
{
"dependencies": {
"com.unity.cinemachine": "2.10.0",
"com.unity.inputsystem": "1.7.0",
"com.unity.render-pipelines.universal": "14.0.8"
},
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [ "com.cysharp", "jp.hadashikick" ]
}
]
}
package.json(個別パッケージのメタデータ)
{
"name": "com.example.mylib",
"version": "1.0.0",
"displayName": "My Library",
"description": "社内共通ライブラリ",
"unity": "2022.3",
"dependencies": {
"com.unity.textmeshpro": "3.0.6"
}
}
Scoped Registry(社内 / OpenUPM)
独自レジストリを設定することで、組織独自のパッケージや OpenUPM 上のサードパーティパッケージをまとめて管理できます:
- Edit → Project Settings → Package Manager
- Scoped Registries に Name / URL / Scope を追加
- Package Manager の左上ドロップダウンに新しいタブが追加
OpenUPM の例:
- Name:
OpenUPM - URL:
https://package.openupm.com - Scope(s):
com.cysharpなど
依存関係のトラブル
Q: パッケージインストール後にコンパイルエラー
A: ① Unity バージョンがパッケージ要件を満たしていない、② 他パッケージとバージョン衝突、③ asmdef の参照不足。Package Manager の Dependencies 欄で要件を確認。
Q: .unitypackage インポートで既存ファイルが上書きされた
A: バージョン管理(Git)必須。インポート前にコミットしておくと差分確認と巻き戻しができます。
Q: Package Manager が固まる / Loading が終わらない
A: Library/PackageCache を削除して Editor 再起動。または Packages/packages-lock.json を削除して再解決。
FAQ
Q: Asset Store のアセットを CI に含めるには?
A: 規約上、購入者のみの利用。チームメンバーが各自購入してリポジトリ外で取り込むか、組織ライセンスを買って .unitypackage を共有。
Q: UPM パッケージと .unitypackage どちらを選ぶ?
A: 新規は UPM が標準。アップデート・依存解決が楽。.unitypackage は 1 回ぽっきりのコピー配布で、後から修正の追従が手動になります。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15