set up default NewProject location + folders

is it possible to set up a default path when starting new project in Unity? I always start new projects in my …/blahblah/UnityProjects/MyNewProject, so it would make sense if there was a way to do this.

I also use the same folders in my projects - _scripts, _prefabs, _materials, etc. and I always have to create all these folder over and over again when making new project. Is there a way to have Unity create these folders automatically?

Pretty sure the project wizard just pulls the home folder and adds “New Unity Project”.

To set up the assets folder, perhaps create a new project and manually create the folders. Then export that as a package. The new project wizard gives you a list of packages to import, so I guess if you can work out where that list comes from (probably a mix of some editor defaults and the location where asset store packages are found) you can have that project folder package imported into all new projects.

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. This works for Windows installations only though…

In Unity 5, when creating a new project, select whatever path you want. That location will be used for future new projects.

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!

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 Best String to Hex Converter Online to Convert Text 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 [archived]

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.

And sorry this markdown is a bit unruley to try and format my reply in a readable paragraph