- FUSE https://osxfuse.github.io/
- unionfs http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-0.26.tar.xz
- unionfsパッチ unionfs-fuse-0.26.diff
ビルド
$ OSXFUSE_ARCH_LIB=-losxfuse make
元になるUnityプロジェクト ORIGINAL、ターゲットを切り替えて新しくUnityを起動したいプロジェクト NEW とすると
$ mkdir -r NEW/Assets
$ mkdir -r NEW/Assets.rw
$ unionfs -o cow -o allow_other NEW/Assets.rw=RW:ORIGINAL/Assets=RO NEW/Assets
で、ORIGINALとNEWのディレクトリで別々に、Unity起動すればOK
$ /Applications/Unity/Unity.app/Contents/MacOS/Unity -projectPath ORIGINAL &!
$ /Applications/Unity/Unity.app/Contents/MacOS/Unity -projectPath NEW &!
ORIGINALの方でファイルを更新すると、NEWの方でも遅延なくそのまま反映される。 NEWの方でファイルを更新と、copy on writeで、NEW/Assets.rwに書き換えたファイルが保存されて、ORIGINAL/Assetsは元のまま残る。