Open Multiple Unity Projects Simultaneously

Is there any way to open multiple projects at the same time in two different Unity windows? Whenever I try opening a second instance of Unity, I get the message "Fatal Error! It looks like another Unity instance is running with this project open". I presume this is because Unity automatically loads the most recent project when it's opened. Is there any way to disable this, or any other way to do what I want?

You can open multiple different projects with Unity at the same time; however, opening the same project twice could ruin the project in previous versions and so I guess they've added a check to prevent this (seems like that check only is implemented for Windows because I can't reproduce this here on my Mac).

If you want to open "the same" project twice, you can make a copy of the project, which can be very useful for debugging networked games on a single machine. If you're using Asset Server or another version control system, it may be a good idea to keep both versions under version control - that way, you can make changes on both "sides" and still keep everything in sync pretty conveniently.

In the Unity Preferences, there's a checkbox "Show Project Wizard at Startup" - if that's checked, Unity opens that wizard instead of opening the previously opened project; so that should solve the issue for you. On Mac OS X, you can also cmd+click (press the cmd/Apple key and click) the app-icon to achieve the same effect without changing this setting. Might work under Windows as well (probably would be ctrl+click but if that doesn't work, I'd try shift+click and alt+click as well) - but I can't try that because I don't have Unity on a Windows machine ATM, so I'm not sure.

On Mac OS X, when you double click the app-icon while the application is already running, you simply "focus" the opened instance. So you need a little trick to open two instances of Unity (Windows handles this differently, so it's easier to open multiple instances there - just double click twice and you got two instances running):

Either right click on the app-icon in the Finder, and select "Show Package contents", the browse to "Contents/MacOS" and double click "Unity" (which has a console Icon there). That does in fact open a console and you got your second instance. Which kind of leads to the second way of doing this:

You can also open Unity directly from the console and this also allows you to give the project path; so you could create a couple of scripts for directly opening a couple of different projects (that's what I did for working on my client-server based game):

#!/bin/bash
/Applications/Unity/Unity.app/Contents/MacOS/Unity -projectPath "/path/to/your/projectA"

If you put that into a file (e.g. startProjectA.sh) and make it executable (chmod a+x startProjectA.sh), you're all set ;-) ... ah, simplest way to create such a script (IMHO): in the console, type vim startProjectA.sh, then type "i" (to get into insert mode), type the script, when you're done, hit "esc", then :wq (: lets you type commands, w is write, q is quit). I think vim is pretty cool but it takes a moment to get used to it.

From the terminal in Mac OS:

open -na Unity

Although I'd recommend having the Preferences -> Show Project Wizard at Startup is checked as discussed above if using this technique.

open --help:

-n, --new Open a new instance of the application even if one is already running

-a Opens with the specified application

If your Edit - > Preferences - >Show project Wizard at Startup is unchecked - then it automatically tries to load the last project you worked on. Check this option and you can load in multiple projects by running more than one instance of Unity (I'm using Windows 2.6.1)

I don't think you can have multiple Unity projects open at the same time, add it to the wish list on the forums if you want to have the functionality.

Now, how do I get the 2nd instance of Unity3D to sync with a second instance of MonoDevelop? Everytime I press Asset>Sync monodevelop on the 1st or 2nd instance of Unity3D, it will always sync with the first instance of monodevelop, although I had 2 opened monodevelop(for unity) instance.

If this problem is persistent, and the above answers do not help, here is what worked for us: Go into your project's folder, locate and delete the Temp folder inside your project folder, and restart Unity. Everything should load fine now. Presumably, the problem lies in the fact that Unity creates a lock file in the Temp folder (at least on Windows). When Unity crashes, it does not delete the lock file, so you must manually delete the file.

Hope this helps!

Hey guys! Even though this may be old, try compiling an executable, then run the executable in window mode alongside the unity window! this helped me when testing networking in game!

On mac, please refer to page “http://forum.unity3d.com/threads/how-to-open-multiple-instances-of-unity-osx-lion.122533/

On windows, you can open same project twice by creating empty folder and symlink Assets and ProjectSettings into it, (NTFS Directory Junctions) using the mklink /J command from elevated command prompt.

In addition to Mac OS related answers:
I’ve created a simple standalone app to launch new Unity instance in 1 click - starting the app creates new Unity instance and destroys itself. I’ve just moved it into Applications folder and put it in the Dock so I need only click on the app icon once to get new Unity instance.
You can get it here: GitHub - vmchar/DoubleUnity: Simple app for running multiple Unity instances

Open unity with any project and then right click on unity icon on task bar , there you will see a list . You have to click on unity with version , your open projects window will appear. Just open projects which one you want. Reference

Soft link works perfect on mac.

mkdir another-project-dir

ln -s project-dir/Assets another-project-dir/Assets

ln -s project-dir/ProjectSettings another-project-dir/ProjectSettings

cp -r project-dir/Packages another-project-dir/ # 2018+

on windows just use mklink instead.

And I think enable local CacheServer would probably reduce loading time on duplicate instance? Not sure.