Unityのmetaファイルが持つguidを変更する
前提
- Unityでは各ファイルに対してメタファイルが自動で生成される
- このmetaファイルの中でguidというパラメータが設定されている
- 他のオブジェクトとの相関性などは、ファイル名ではなくこのguidをもとにして行われている
fileFormatVersion: 2 guid: 14f9hogehogehogehogefugaugasdfd7fc21a //<== これ timeCreated: 1467869181 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant:
問題
解決方法
- 上の方の問題に関してはそもそも該当のファイルを直接編集すればいいが、下のimport問題が少しやっかいで、この場合ファイルのguidを変えてやる必要がある
guidの変更
- 試しにmetaファイルを削除してUnityを起動してみたところ、新しく新規にmetaファイルが作成されたのでいけるかと思ったが、まさかの消したはずのguidと同じguidが再度生成されていた。
- なので現在は少し強引ではあるが、Duplicateで同じファイルを作成し(この時点で違うguidをもつmetaファイルが生成される)、これをもとにパッケージをexportすることにしている。
- もちろんmetaファイルを直接編集してもいいのだが、低い確率で他のファイルが既に利用しているguidにしてしまった場合、問題の発見が困難になってしまう
- DuplicateだとUnityの機能で行うので、Unityが重複のないguidをアサインしてくれる
他にいい方法があるような気がしないでもない・・・