How do you set the download path?
when downloading from the asset store, the files download into my current project.
I’d like them all to go into a folder outside of the current project.
I used the info here to create a symlink:
I found the AssetStore folder in AppData copied the AssetStore to another larger drive deleted the original folder because it wont create a symlink if a folder is where you want the symlink it returns this error:
“Cannot create a file when that file already exists.”
entered this in a command prompt run as admin replaced my username with username:
mklink /d “c:\users\username\appdata\roaming\unity\asset store-5.x” “e:\users\username\appdata\roaming\unity\asset store-5.x”
it returns this when done correctly and looks like a shortcut link in Explorer:
symbolic link created for c:\users\username\appdata\roaming\unity\asset store-5.x <<===>> e:\users\username\appdata\roaming\unity\asset store-5.x
Loaded up unity downloaded something new and checked it still had everything i’d downloaded as able to import. I then downloaded something new and it saved it to the new drive. I only moved the asset store folder itself because there are reasons to to leave your appdata folder alone (mostly). If you download a lot of assets it makes a lot of sense to have them on your largest drive. I have no idea why everybody and their cousin nowadays puts everything in the AppData folder, it just gets cluttered with junk and eats drive space, (probably because Microsoft wanted to get them away from putting everything in the program files directory).
An automated solution tweaked from here (original post had errors in it which stopped it working properly). Fixed and simplified it to work, on my machine at least. USE AT YOUR OWN RISK! You’ll need to write in your own paths, save as a .bat file and run in command prompt (run as administrator)
@echo off
rem Variable Setting
set UnityPath=C:\Users\USERNAME\AppData\Roaming\Unity\Asset Store-5.x
set AssetPath=E:\Unity\Asset Store-5.x
rem Copy Files
if not exist "%AssetPath%" mkdir "%AssetPath%"
xcopy "%UnityPath%" "%AssetPath%" /E /I
rem Copy succeeded
If /I "%errorlevel%"=="0" goto success
rem No Files found.. Sooooooo new Folder!!
If /I "%errorlevel%"=="1" goto linking
:failed
@echo Whoops! Error. Aborting!
goto END
:success
rem Success!
rem Asking..
@echo The original folder has to be deleted.
set /P INPUT="Are you sure you want to continue (y/n)?%=%"
If /I "%INPUT%"=="n" goto END
rem Deleting old Folder
@RMDIR /S /Q "%UnityPath%"
:linking
rem linking
mklink /J "%UnityPath%" "%AssetPath%"
@echo Done! Have fun!
goto END
:END
pause
They already download to an external folder (~/Library/Unity/Asset Store on OS X), not your project. You import them into your project if you want to use them, but that’s a different thing.
The answer is :
Unity3D does NOT let the user specify an Asset Store default download location (yet).
See other replies & posts for the exact Asset Store folder’s location. Depending on your Operating System (OS), it will vary.
Thanks allot jeromeWork,
Even if I dont like the oldschool commandline batch - its a realy great solution with the batch script.
I’ve tryed it and it worked almost like descriped. I had to manualy recreate the original folder and run the script again to have the mklink to work. Maybe first use the mklink command line 31 and then the RMDIR delete folder command.
The ‘mklink’ command is for shure a useful thing and I will use this more often now.