.meta ファイルとは
- Unity がアセットを照会するために必要なファイル
- Unity プロジェクトにおける設定、参照関係など
- .meta ファイルがないと、Unityに認識されない
- アセットファイルと対で一緒に保管されなければならない
- .metaファイルには、アセットファイルを識別する一意のIDが割り当てられる
- GUIDと呼ばれる
どんな内容が書かれているか
自分の Unity プロジェクト内ですが、
フォルダだと以下のようなファイル内容で、
fileFormatVersion: 2
guid: ab84f2cb13056e146b01437c2d6ba879
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
.csファイルだと、
fileFormatVersion: 2
guid: 1e2e38996083ad0489f3ea2a3ccd972a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
prefabだと、
fileFormatVersion: 2
guid: 3560fcc99ead8b54a8ab5e3c35ae93ca
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
scene だと、
fileFormatVersion: 2
guid: 9fc0d4010bbf28b4594072e72b8655ab
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
という内容になっていました。
いつ作成されるのか
Assets フォルダ内にアセットファイルが作成されると、 Unity が自動的に作成します。
ユーザーは、手動で変更を加えたりすることはありません。
変更、削除されるときは
- アセットファイルを削除したとき
- Inspector で設定を変更したとき
meta ファイルをコミットし忘れると…
アセットファイルの設定や参照関係が全くない状態です。
また、別の人がプルしてプロジェクトを開くたびに、それぞれ別々の .meta ファイルが作成されてややこしいことになります。
アセットファイルを追加したら、必ず .meta ファイルもコミットしましょう。
参考文献
アセットの内部処理 - Unity マニュアル
インポート - Unity マニュアル
Unityのmetaファイルについての勉強会を行いました
【Unity】metaファイルって何? - すとーぶろぐ