バッチを使ってUnity Projectの多重起動

Unity Multiplayerを使ってオンラインゲームを作るといったときにはUnityを同時にいくつも起動するということがあるでしょう。複数のUnityを起動することでそれぞれが1つの端末としてデバッグすることが楽になるためです。
作っているプロジェクトを丸ごとコピーするなどしてプロジェクトを増やすと、Unityとしてはそれらが別のプロジェクトとして認識し、同時に起動することができるようになります。
別プロジェクトだけれども内容は一緒というのは管理しにくいので、それについてはバージョン管理ソフトを使って、複数の作業フォルダを作るというのがお勧めです。

何度もやると、Unityを複数起動するのが面倒になってきます。
色々な所にプロジェクトがあったりすると、いちいちウィザードから選んだり、フォルダのところに行ったりでわずらわしいです。
……なので、これを簡単に行う方法を私なりに実践しています。

やり方はバッチファイルからUnityのプロジェクトを指定して同時に起動するという方法です。
Unityはコマンドプロンプトからも起動できるので、バッチファイルで起動することができます。同時に起動するためにはstartコマンドを使う必要があります。使わないとコマンドが終わるまで次のコマンドが実行できないからです。startコマンドにより、本来終了してから次へという処理が同時に行えるようになります。

以下のような内容のバッチファイルを作れば5つのプロジェクトが同時に開けます。プロジェクトのパスは全て異なるものにしてください。
バッチファイルの作り方はテキストエディタに以下のコマンドをコピーして、ファイルを”ファイル名.bat”と名付ければバッチファイルになります。

ここから

set UNITY=”C:\Program Files\Unity\Editor\Unity.exe”
start “” %UNITY% -projectPath プロジェクトのパス1
start “” %UNITY% -projectPath プロジェクトのパス2
start “” %UNITY% -projectPath プロジェクトのパス3
start “” %UNITY% -projectPath プロジェクトのパス4

start “” %UNITY% -projectPath プロジェクトのパス5
ここまでをコピペしてください。

プロジェクトのパス1~5にはプロジェクトのあるパスで全て異なるように指定してください。 プロジェクトのあるパスとは、AssetsとかLibraryフォルダを含んでいるフォルダへのパスのことです。絶対パスで指定する方が問題が起こらないので、そうしてください。

最後に起動してみたデモを載せておきます。

バッチファイルのアイコンが画面中央に表示されています。それをダブルクリックするとバッチファイルの内容が実行されます。ウィンドウがいくつも表示されているのでちょっとわかりづらいですが、複数のUnity起動されています。