見出し画像

Unityアセットの保存先を変更してCドライブ圧迫問題を対策した話

環境

Windows10
Unity 2020.1.4f1 / Unity 2019.4.11f1

アセットの保存場所を任意に指定できるというのはまだ無いらしい。
最近増設した2TのSSD(Western Digital)に移行したい。
一番簡単なのが、Windows10のジャンクション機能で任意のフォルダにリンクしてやる事

ジャンクションとは?
プログラムが参照できるショートカット

前提


Unityアセットの保存場所は ユーザー名:foo の場合、
C:\Users\foo\AppData\Roaming\Unity\Asset Store-5.x

リンクしたいのは別ドライブの↓とする。
F:\unity\assets\Asset Store-5.x

手順


最初にCドライブを圧迫しているAsset Store-5.xをフォルダごと、F:\unity\assets\ に移動する。

コマンドプロンプトを実行
mklink /j "C:\Users\foo\AppData\Roaming\Unity\Asset Store-5.x" "F:\unity\assets\Asset Store-5.x"
実行結果
C:\Users\foo\AppData\Roaming\Unity\Asset Store-5.x <<===>> F:\unity\assets\Asset Store-5.x のジャンクションが作成されま した

「Asset Store-5.x」フォルダがあったC:\Users\foo\AppData\Roaming\Unity\
にはショートカットと同じようなアイコンが作成されている。ジャンクション成功。

この対策で、今後アセットストアからダウンロードしたパッケージはFドライブに保存されるし、いままで使用していたアセットも問題なくインポート可能。めでたし。

その他

似たような選択肢としては下記の3つがあったが、安定しているっぽいジャンクションにする。特徴をメモしておく

ハードリンク:
リンク先はファイルでもフォルダでもよい
サーバ上の共有ファイルはリンクできない
1つの実体ファイルを複数の名前をつけてリンクできる、実体ファイルを消去しても作成したリンクはアクセスできる
リンクできるのは同じボリュームのみ(別ドライブは無理?)
シンボリックリンク:
リンク先はファイルでもフォルダでもよい
相対パス設定可能
リモートの共有フォルダも可能
アプリによってはシンボリックリンクを解釈できないことがある
ジャンクション:
リンク先はフォルダのみ
リンク先の実体を削除するとリンク先不明となる
サーバ上の共有ファイルはリンクできない
絶対パス設定のみ
昔ながらの安定したリンク


参考記事

https://www.atmarkit.co.jp/ait/articles/1306/07/news111.html


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?