When Unity imports assets, it also stores and manages additional data about the asset for you, such as what import settings should be used to import the asset, and where the asset is used throughout your project. Below is a description of how this process works:
.meta
ファイルを作成します。The Import settings for any given asset affects how Unity processes the asset. If you modifying the asset file, or any of the asset’s import settings, Unity will reimport the asset. For more information, see Assets and their import settings.
Assets
フォルダーに テクスチャなどのアセットを保存すると、Unity が新しいファイルの追加を検出します。なぜなら、Assets
フォルダーのコンテンツはエディターによって既知のアセットのリストと頻繁に照合されているからです。
Unity は新しいファイルを見つけると、固有の ID をアセットに割り当てます。これは Unity がアセットを参照するために内部的に使用する ID で、Unity は何も壊すことなくアセットの移動や名前の変更を行うことができます。
ID は通常、エディターでは表示されません。
The image below shows .meta files that Unity creates for each item in your project’s Assets folder. Unity creates meta files for asset files and folders.
They are hidden in Unity’s Project window, and you may also find they are hidden in your file system by default, so you may not see them in Windows Explorer or Finder unless you make your hidden files visible on your computer.
この例は、Unity がプロジェクトの Assets
フォルダー内の各アセットまたはフォルダーに対して .meta
ファイルを作成して、それらがシステムファイルブラウザーに表示されることを示しています。ただし、これらの .meta
ファイルはデフォルトで 非表示 になっているため、Project ウィンドウには表示されません。Mode プロジェクト設定から Visible Meta Files を選択すると、それらを表示することができます。
Unity がアセットの .meta
ファイルを作成するとき .meta
ファイルの内部にアセット ID を書き込み、アセットファイルと同じ場所にその .meta
ファイルを保存します。
As well as the unique ID assigned to the asset, the .meta
files contain values for all the import settings you see in the Inspector window when you select an asset in your Project window. For example, for a Texture, this includes the Texture Type, Wrap Mode, Filter Mode and Aniso Level import settings.
アセットのインポート設定を変更すると、新しい設定は アセットに付随する .meta
ファイルに保存されます。Unity は更新された設定に従ってアセットを再インポートし、プロジェクトの Library
フォルダー内のそれに対応する既存の “ゲーム専用” データを更新します。
Important: Meta files contain important information about how the asset is used in the Project and they must stay with the asset file they relate to. If you move or rename an asset within Unity’s own Project window, Unity will also automatically move or rename the corresponding .meta file. If you move or rename an asset outside of Unity (i.e. in Windows Explorer, or Finder on macOS), you must move or rename the .meta file to match.
If an asset loses its meta file (for example, if you moved or renamed the asset outside of Unity, without moving/renaming the corresponding .meta file), any reference to that asset will be broken in your project. In this situation, Unity would notice the asset does not have a corresponding meta file and generate a new one for the moved/renamed asset as if it were a brand new asset, and delete the old “orphaned” .meta file.
As an example of the types of problems this could cause, in the case of a texture asset losing its .meta file, any materials which used that texture will now have no reference to that texture. To fix it you would have to manually re-assign that texture to any materials which required it.
Or, in the case of a script asset losing its .meta file, any GameObjects or Prefabs which had that script assigned would end up with an “unassigned script” component, and would lose their functionality. You would have to manually re-assign the script to these objects to fix this.
In Unity, folders in your project’s Assets folder are assigned their own .meta
file - however some version control systems (VCS) can’t store empty folders. This means when you add or delete an empty folder from your project, your VCS will store the .meta
file as added or removed, but won’t store the change of adding or removing the folder itself, which can be confusing or problematic.
この問題を解決するために、Unity は空のフォルダーに関して以下のような特定の動作をします。
Unity が対応するメタファイルを持たない空のフォルダーを検出すると、そのフォルダーに以前メタファイルがあった場合、VCS の他のユーザーによるフォルダーの削除によってメタファイルが削除されたとみなし、その空のフォルダーをローカルで削除します。
Unity があるフォルダーの新しいメタファイルを検出したがそのフォルダーがローカルに存在しない場合、Unity は新しいメタファイルが VCS の他のユーザーによるフォルダーの追加によって作成されたものとみなし、対応する空のフォルダーをローカルに作成します。