Unityを多重起動する
Macのアプリって普通アイコンやランチャー叩いても多重起動できない。
それは問題ないがUnityで複数プロジェクトを同時起動できないのが問題だと思う。
(マックがそういう仕様である以上は一つのアプリのプロセスで複数プロジェクト開けるようになってて欲しいもんだ。)
Unityで例えばテストプロジェクトと本命プロジェクトを見比べながら作業したりとかよくあると思う。
で、ターミナル使って多重起動するにしても(我々エンジニ〜アは補完がキンキンに効いてる自慢のシェルを使ってるにしても)いちいち
/Applications/Unity/Unity.app/Contents/MacOS/Unity
って打つのも面倒だと思う。
導入
なのでUnity内から更にUnityを開く拡張作った。
using System.Diagnostics;
using UnityEditor;
public class RunMoreUnity {
#if UNITY_EDITOR_OSX
[MenuItem("File/Start One More Unity")]
private static void StartNewUnity() {
var p = new ProcessStartInfo();
p.FileName = "/Applications/Unity/Unity.app/Contents/MacOS/Unity";
p.UseShellExecute = true;
p.CreateNoWindow = true;
Process.Start(p);
}
#endif
}
これをEditor以下に入れとけばメニューからプルダウンで起動できる。
ショートカットを設定しなかったのはやんちゃな俺が連打してUnity100万個くらい起動して愛機が爆発するのを防ぐためである。
落ち着きのあるユーザーはコレ↓みて設定しても構わない。
http://docs.unity3d.com/ScriptReference/MenuItem.html
Macしか対応しなかったのは俺がMacユーザーだし面倒くさがりで面倒見も悪いからである。
番外編
それでもターミナルから開きたい カッコつけマン ターミネーターは
pipでpercolでも入れて
### search Mac Application
percol_application() {
BUFFER=$(find /Applications ~/Applications -maxdepth 2 -regex '.*.app' | sed 's/ /\\ /g' | percol --query "$LBUFFER")
CURSOR=$#BUFFER
zle -R -c
}
zle -N percol_application
bindkey '^f' percol_application