Skip to main content

SymLinks: share folders between Unity projects

Unity Asset StoreDateSep 2020Duration1 month
  • Unity
  • Tools Programming
  • Editor Scripting
  • Published on the Asset Store

About the project​

Share external data between multiple projects! This asset solves two major problems.

1. Sharing a folder between projects​

Sometimes you really need a folder shared between multiple Unity projects: a shared art folder, a library of generic scripts, or even a whole framework. But Unity has no native solution for this.

The usual workaround is to create symbolic links with a Bash or Python script. But then you can't push your external files to a Git repository: you have to create multiple repositories and do complicated things to tie them together.

With this tool, I offer an easy way to create junctions between an external folder and your Unity project. These junctions can be pushed to Git or Unity Collaborate. The files are handled as normal folders, and are marked with a small indicator so you know exactly what is and isn't inside an external folder.

2. Knowing where a file comes from​

When an external framework is shared between multiple projects, the biggest problem is telling apart the files that come from the framework and those that belong to the project.

This often leads to serious structural problems: for instance, you accidentally delete a picture from the framework in one project, and two weeks later, in the other project, you discover that the picture you were using is gone!

This tool always shows you whether a file belongs to an external framework. In the Project window, or even on a GameObject, the small <=> or * indicator tells you whether the object you are looking at is inside an external folder.

  • C# source code included.
  • Clean code using namespaces.