Gitが使えない環境でパッケージのエクスポート・インポートでデータをやり取りする場合、何が更新されて何が更新されないのか検証してみました。
目次
検証用データの準備
プロジェクトを作成し、以下の3つのパッケージを用意しました。
Pack01:初期状態
A、B、Cというフォルダに、それぞれA、B、Cという画像を配置してエクスポート。

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

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

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

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

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

検証結果まとめ
- データの設定やデータ自体は差し替え可能
- 階層は変化しない(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
