前提
OS
: OS X Mavericks
Unity
: v4.3.1f1
おさらい
そもそも UnityPackage ってなんぞ?
- シングルバイナリなパッケージファイル
- 中身としては .tar.gz か何かだと思われ
- Asset Store とかで配布されている各種パッケージもこの形式
- Unity 上で表示される Asset なら何でも突っ込める
- 勿論、複数突っ込める
- なんなら Asset Store から Import したヤツとかも含められる
- ライセンスはちゃんと見ましょう。
- 違法コピーはダメ・絶対!
んで、UnityPackage を Export するのは以下の手順
- Export したい Asset を選択
- Menu > Assets > Export Package… を選択
- 内容確認して Export ボタン押下
- ファイル名と場所決めておしまい。
簡単ですね!
んで、本題
今やってる仕事の絡みで UnityPackage を Export する必要が出てきたので、普通に上述の手順でやってみた。
まぁ、普通に構築は巧く行くんだけど、ふと 「あれ?これ、インポート先のプロジェクト的に、削除された Asset とか移動した Asset とかってどうなるんだ…?」 とか思ってみた。
んで、調べたところ、 こんなページ を見付けた。(ページ最下部に書いてある点が肝。)
結論から言うと、 「削除とか無理だから、自力で頑張ってね♥」 ってコトらしい。
いやいや、そんなこと言われても…。
複数のプロジェクトで共通のスクリプトとか Prefab とかを使い回したいので、どうにかして管理したいっす!
じゃあ、どうする?
今日ぶち当たった段階なので、具体的なソリューションは思い付いてない。
今思い付いてるのだと以下の4つあたり。
- git の submodule とかで管理しちゃう?
- 特定のディレクトリ配下に全部ぶち込んで、自前の UnityPackage をアップデートするときは、ディレクトリ毎削除してから、再インポート?
- まぁ、それはそれで、一瞬大量のエラーが表示されるコトになりうるから気持ち悪いんだよなぁ…。
- でも、NGUI とかはそういう方針なのかな?
- そもそも削除とか移動とかせずに、Deprecated 扱いにしてコンソールに警告出す形で回避?
- それはそれでクラス名が完全に同じケースとかはエラーになるよなぁ…。
- まぁ、そもそもそんな定義すんなって話だが。
- 漢は黙ってコピー&ペースト
うーむ、正直どれも微妙だ…orz
「ウチはこうしてるよ!」みたいな事例ありましたら※してもらえると泣いて喜びます!w