Unity&MacでShell scriptを使いたい!

UnityでShell scriptを使ってなにがしかを実行したいことってありますよね。
いろいろ試してみてこれが良さそうだとなったものを記録しておきます。

Unity起動時にズバババっと処理されるように、InitializeOnLoadにしてあります。

[InitializeOnLoad]
public class Startup
{
    static readonly string shPath =
        Application.dataPath + "/Hoge.sh";

    static Startup()
    {
#if UNITY_EDITOR_OSX
        StartExecForMac();
#endif
        AssetDatabase.Refresh();
    }

    static void StartExecForMac()
    {
        var p = new Process();
        p.StartInfo.FileName = "/bin/zsh";
        p.StartInfo.Arguments = $"-c \"zsh {shPath}\" ";
        p.StartInfo.Verb = "RunAs";
        p.StartInfo.UseShellExecute = true;
        p.Start();
        p.WaitForExit();
    }
}

Agisoft Metashapeが起動直後にフリーズする!

Agisoft Metashapeが起動直後にフリーズする!再起動しても再インストールしてもグラフィックドライバーアップデートしても何しても直らん…

と途方に暮れていたのですが、サブディスプレイで起動するとフリーズするようです…。

ここからメインディスプレイのみに表示するようにし

Metashape起動後にサブディスプレイへの出力を再開すれば、不具合は解消されるはずです。