Unity:カスタムアイコンで表示させる
Unityで、自作クラス(MyClass.csとします)のインスタンスアセットやインスペクター上のアイコンを変えたい場合の手順。
デフォルトのアイコンはこんな感じ↓
デフォルトのアイコンだと自作クラスやそのインスタンスを他のスクリプトと区別しにくいので、これを変えていきます。
Unityのビルトインアイコンを使用する場合
MyClass.csを選択し、左上のカラフルなアイコンの中で好きなものを選択して変更するだけです。
凝ったアイコンは不要で他との区別がつけばいいだけならこれで十分です。
カスタムアイコンを使用する場合①
上のビルトインアイコンを使用する場合と同じ手順で、
Select Iconでビルトインアイコンを選ぶ代わりにOtherボタンからAssetフォルダ内の任意のアイコンを選びます
カスタムアイコンを使用する場合②
①の手順による手動のアイコン変更を経由せずに、自作のカスタムアイコンを適用させる方法もあります。
(多分サードパーティアセットなどでアイコンを自動で上書きする用途につかうもの)
MyClass.csの中身のクラス宣言がこうだとします
namespace MyNamespace.MyClasses
{
public class MyClass : MonoBehaviour //※またはScriptableObject
{ }
}
名前空間MyNamespace.MyClassesにあるMyClassクラス。次のようにします
Assets/Gizmosフォルダを作成(存在しない場合)
Assets/Gizmos/MyNamespace/MyClassesフォルダを作成(*1)
その中にアイコン画像のpng(128x128または256x256が理想)を追加
アイコン画像のファイル名を「MyClass Icon.png」にする(クラス名 Icon.png、クラス名とIconの間には半角スペースを入れる)
pngファイルのTextureTypeを「Editor GUI and LegacyGUI」に、FilterModeを「Point」に設定
※1 Assets/Gizmos以下のフォルダ構造は名前空間と一致している必要があります。クラスはMyNamespace.MyClasses名前空間にあるので、アイコンを置くフォルダもMyNamespace/MyClasses/。
png画像をGizmos/~/~に入れて
画像のセッティングを変更
TextureType → 「Editor GUI and Legacy GUI」FilterMode → 「Point」
こうすることで、自動でアイコンが変わります。
手順を間違えてないのに変わらない場合は、MyClassインスタンスを右クリックして「Reimport」してみてください
手動でアイコンを設定している場合(前述の手順①)は、手動で設定した方が優先されるっぽい
変更後↓
Projectビュー上のアセットアイコン
MyClassがScriptableObjectの場合(のアセットインスタンス)およびMyClass.cs自身のアイコン表示がこれになりますインスペクター上のアイコン
MyClassがMonoBehaviourの場合