Can you change the default location of a new Unity project?

I often create a new project, just to test things out in a fresh project that I can delete off my hard drive shortly thereafter. At least on the Mac, the location of the default project is the user folder. I never want it there. Sometimes I find that I've accidentally created a bunch of numbered folders starting with "New Unity Project" in my home directory, as I very infrequently visit the folder.

No ... currently, I think this is not possible. ... personally, I still do consider this a bug (a very mildly annoying one, though ;-) ).

I would like to see this also, doesn’t seem like it would be a hard thing to implement.

Sorry to resurrect an old question, but I’ve found the answer, it’s a simple registry entry that needs to be changed. See here: http://www.dociletree.co.za/adventures-in-unity-how-to-change-the-default-new-unity-project-path-in-windows/ for more information.

For Windows, Unity uses the personal documents folder as the default save-to location. As of Unity 4.6 this is not alterable nor does Unity save the last-used folder (unfortunately). I know this is a small feature but would be a nice time-saver for me.

If you’re running Unity on Windows then you can try launching Unity from a script which sets temporarily updates the personal documents folder and reverts the value when Unity is closed. Details can be found here Error 404 - Not found

Good luck!

I’ve managed to sort this out, at least in Unity 4.x in Windows, with the help of AutoHotkey. This little script will do the trick for you. Note that it only works if you use ALT-F first to open the File menu, then select “New Project” (with with keyboard or mouse) within 5 seconds of hitting ALT-F. (Had to do it this way because unfortunately AHK can’t trigger on menu selections specifically, just keypresses).

Go here for the wonderful AutoHotkey: http://www.autohotkey.com/

Just replace the string "E:\Unity\Projects" with whatever path you want to default to (without the quotes).

#IfWinActive ahk_class UnityContainerWndClass
{
  ~!f::
    WinWaitActive Unity - Project Wizard,, 5
    If (ErrorLevel = 0) {
      ControlSetText Edit1, E:\Unity\Projects\, A
      ControlSend Edit1, {end}, A
    }
    Return
}

Bit of a hack, but does the trick!

The simplest way for unity 5.3.4, is to open a project from your new location, just move a project into a folder of your choice, go into unity, and open it. You will see that if you try to make a new project, the location will be change to your new folder.

As we are running Unity in a school lab where the computers are heavily restricted, we needed a way that wasnt involved in the home folder as this is redirected to a network share for students, and the speed in reading/writing the Unity data to the share was very slow
Also we have the run command disabled so browsing UNC paths doesnt work so we were getting errors here as well.

The following registry keys are what control the path for the project and workspace path
Computer\HKEY_USERS*User*\SOFTWARE\Unity Technologies\Unity Editor 5.x
kProjectBasePath_h4113231939
kWorkspacePath_h3086459462

The data is stored in hexadecimal values in the above locations as a REG_BINARY string

Convert your desired path from a text string to hex

The binary values set in the registry are represented as hexadecimal values but the method used here requires to pass regular decimal vales so we need to convert that as well
We can use the scientific mode on calc.exe to convert the hex into seperate decimal values
I got most of the info from this page How Can I Write Binary Data to the Registry? - Scripting Blog

We used ActiveSetup to push the setting into the default user hive, so any new users logging in will have this set on first login
Here is my code to set the paths to the local D Drive. It works for what we want.

	'Setup Unity3D Default Project Path to D: Drive'
	Dim uBinary
	uBinary = Array(68,58,00)
	WriteToRegistry HKEY_USERS, sTempHiveRef & "Software\Unity Technologies\Unity Editor 5.x", "kProjectBasePath_h4113231939", uBinary, "REG_BINARY"
	WriteToRegistry HKEY_USERS, sTempHiveRef & "Software\Unity Technologies\Unity Editor 5.x", "kWorkspacePath_h3086459462", uBinary, "REG_BINARY"

Apologies if my wording is not correct or if the code could be tidied up, but I havnt seen anywhere that has been able to achive this so am happy to share if it helps