コガネブログ

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

【Unity】Project ビューの検索欄に文字列を設定するエディタ拡張

ソースコード

using System.Reflection;
using UnityEditor;

public static class ProjectBrowserInternal
{
    public static void SetSearch( string searchString )
    {
        var assembly           = typeof( Editor ).Assembly;
        var projectBrowserType = assembly.GetType( "UnityEditor.ProjectBrowser" );
        var projectBrowser     = EditorWindow.GetWindow( projectBrowserType );

        var setSearchMethodInfo = projectBrowserType.GetMethod
        (
            name: "SetSearch",
            bindingAttr: BindingFlags.Public | BindingFlags.Instance,
            binder: null,
            types: new[] { typeof( string ) },
            modifiers: null
        );

        setSearchMethodInfo.Invoke
        (
            obj: projectBrowser,
            parameters: new object[] { searchString }
        );
    }
}

使用例

using UnityEditor;

public class Example
{
    [MenuItem( "Tools/Hoge" )]
    private static void Hoge()
    {
        ProjectBrowserInternal.SetSearch( "ピカチュウ" );
    }
}

参考サイト様

関連記事