all green

プログラム、アプリ作成、Web等備忘録が中心です

実行中のUnity.exeのパスを取得する(System.Windows.Forms.dllを使用する)

実行中のUnity.exeのパスを取得する方法

・環境
Unity 2022.3.11f1

1. プロジェクト設定の変更

エディタのメニューから[Edit] -> [ProjectSettings...] を選択、Project Settingビューを開く
Playerを選択、Other Settings -> Configuration 内の項目「Api Compatibility Level*]を「.NET Framework」に変更する
※「.NET Framework」の方が「「.NET Framework 2.1」よりバージョンが高い
 以前あった4.xの代わりらしい

2. System.Windows.Forms.dllをプロジェクト内におく

[Unityインストールフォルダ]\Editor\Data\MonoBleedingEdge\lib\mono\4.5
上記のフォルダからSystem.Windows.Forms.dllをプロジェクト内のPluginフォルダにコピーする

3. System.Windows.Forms.dllの設定を変更

Editorにだけチェックを入れる


4. パスの取得

/// <summary>
/// 実行中のUnity.exeのパスを取得する
/// </summary>
public string GetPath()
{
    return System.Windows.Forms.Application.ExecutablePath;
}