I want to share certain scripts between Unity projects, where modifications while working on the script in one project will carry over to every other project sharing that script.
I would prefer to use the simplest process – simpler than Git, submodules, etc., if possible. Googling around, it looks like symlinks might be the right choice. But many pages regarding Unity and symlinks quote this warning that Unity throws at you:
Using symlinks in Unity projects may cause your project to become corrupted if you create multiple references to the same asset, use recursive symlinks or use symlinks to share assets between projects used with different versions of Unity. Make sure you know what you are doing.
Well, I guess I don’t know what I’m doing, because many parts of this warning raise questions for me. I hope I can get some clarification from all of you.
1. “Multiple references to the same asset.” Isn’t this exactly what I’m trying to do? I want multiple projects to have access to a single asset – a script, in this case. So will using symlinks for this purpose corrupt my projects? Or am I misunderstanding what “multiple references” means here?
2. “Recursive symlinks.” Does this means symlinks that refer to other symlinks? If not, what does it mean?
3. “May cause your project to become corrupted.” Does this mean “corrupted” in the sense of “won’t work like you expect it to”? Or “corrupted” in the sense of actually writing bad/garbled data to disk?
Thanks for any insight.