コガネブログ

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

【Unity】エディタ拡張でスクリプトのファイルパスを取得する方法

概要

f:id:baba_s:20180224095603p:plain

例えば、エディタ拡張において、
上記の「Example.cs」ファイルのパスを取得したい場合

using UnityEditor;

public class Example : EditorWindow
{
    [MenuItem( "Window/Example" )]
    private static void Init()
    {
        var window = GetWindow<Example>();
    }

    private void OnGUI()
    {
        var mono = MonoScript.FromScriptableObject( this );
        var path = AssetDatabase.GetAssetPath( mono );
        EditorGUILayout.LabelField( path );
    }
}

このように「MonoScript.FromScriptableObject」関数と
「AssetDatabase.GetAssetPath」関数を併用することで

f:id:baba_s:20180224095739p:plain

ファイルパスを取得できます

参考サイト様