Unity│パッケージのインポートで更新されるもの

Gitが使えない環境でパッケージのエクスポート・インポートでデータをやり取りする場合、何が更新されて何が更新されないのか検証してみました。

目次

検証用データの準備

プロジェクトを作成し、以下の3つのパッケージを用意しました。

Pack01:初期状態

A、B、Cというフォルダに、それぞれA、B、Cという画像を配置してエクスポート。

Pack01の構成

Pack02:階層を変更

Commonフォルダを作成し、ABCの画像を移動。他のフォルダを削除してエクスポート。

Pack02の構成

Pack03:画像と設定を更新

ABCの画像の色を変更し、設定も変更(Packing TagをTESTに)してエクスポート。

Pack03の構成

インポートの検証結果

Pack01をインポート

緑のNewバッジが表示され、正常にインポートされました。

Pack01のインポート

Pack02をインポート

「all assets from this package are already in your project」と表示され、更新する部分がないため失敗しました。

Pack02のインポート失敗

Pack03をインポート

更新アイコンが表示され、画像と設定の差し替えに成功しました。ただし階層はPack01のままです。

Pack03のインポート成功

検証結果まとめ

  • データの設定やデータ自体は差し替え可能
  • 階層は変化しない(metaファイルのGUIDで判定されるため)
  • ファイル名も変化しない(ファイル名を変更してもGUIDが同じなら差し替え可能)

参考:https://docs.unity3d.com/jp/530/Manual/AssetPackages.html

階層や命名を変更したい場合

どうしても階層やファイル名を変更したい場合は、AssetDatabaseを使ったスクリプトで対応できます。

using UnityEngine;
using UnityEditor;
public class MoveAssets : MonoBehaviour
{
[MenuItem("Sample/MoveAssetsToDirectory")]
private static void Example()
{
AssetDatabase.MoveAsset("Assets/A/Sample.png", "Assets/B/Sample.png");
}
}

参考:https://docs.unity3d.com/jp/current/Manual/AssetDatabase.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次