コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】インポートしたアセットに警告やエラーを設定する方法

概要

using UnityEditor;

public class Example : AssetPostprocessor
{
    private void OnPreprocessTexture()
    {
        if ( !assetPath.StartsWith( "Assets/" ) ) return;

        // 警告を設定
        context.LogImportWarning( "ピカチュウ", context.mainObject );

        // エラーを設定
        context.LogImportError( "ホゲータ", context.mainObject );
    }
}

上記のように AssetPostprocessor を継承したクラスで
context.LogImportWarningcontext.LogImportError を呼び出すことで

インポートしたアセットの Inspector で警告やエラーが表示されるようになります
「Print to console」を押すとアセットに設定されたログを Console に出力できます

Unity 2022.2 以降であれば、Project ウィンドウ上部の「!」アイコンを押して
「Errors」や「Warnings」を押すことで

警告やエラーが設定されたアセットを検索できます

// 警告を解除
context.LogImportWarning( "" );

// エラーを解除
context.LogImportError( "" );

設定を解除したい場合は上記のように空文字列を設定します

Project ウィンドウに警告やエラーのアイコンを表示

Unity 2022.2 以降であれば上記のようなエディタ拡張を作成することで

Project ウィンドウで警告やエラーが設定されているアセットにアイコンを表示できます