Unity 4 removes support for symlinks on Windows, listed as "improvement"

Discussion in 'Developer Preview Archive' started by MattRix, Aug 22, 2012.

  1. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    56
    I (like many others) use symlinks as an effective way of sharing code+assets between multiple projects. Unity had already intentionally disabled them on OSX, and now they did it on Windows too. They still haven't said why they are disabled, other than that they "cause problems".

    If you're going to take out symlinks, then please replace them with ANY way of actually sharing code between multiple projects.

    I've created a Unity Feedback request here, please vote if this is important to you: http://feedback.unity3d.com/unity/all-categories/1/hot/active/allow-symlinks-on-windows-and-os
  2. Pelajesh

    Pelajesh

    Member

    Joined:
    Dec 7, 2009
    Messages:
    358
    Is there release notes/new features list anywhere?
  3. Pix10

    Pix10

    Member

    Joined:
    Jul 21, 2012
    Messages:
    509
    That would be under Release Notes, on the download page.
  4. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    56
  5. Jaimi

    Jaimi

    Member

    Joined:
    Jan 10, 2009
    Messages:
    2,267
    Just use a junction point or a hard link.
  6. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    56
  7. Jaimi

    Jaimi

    Member

    Joined:
    Jan 10, 2009
    Messages:
    2,267
    What's your use case? Are you just saving a bunch of textures and models from being duplicated? I think in that case, you just put them all in a folder and use a junction point to stick that in the asset folder. A junction point works at the NTFS level, and can't be disabled.
    If you're doing things individually using shortcuts, then I have no real solution.
  8. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    56
    I'm working on an open-source library for Unity (http://struct.ca/futile).

    I want to be able to use the *exact same code* in a few different projects, and if I notice any problems or want to tweak anything in the library code, I want to be able to fix it right away, and then commit those changes back to git. Git submodules won't work because the repo has other things in it (sample projects, etc.), and git doesn't support checking out only part of a repo.

    Linking to external libraries in external folders is a very common use case, most other frameworks support it.

    Again, what I have right now is working great, Unity is about to take something that is working great for me, and remove it with zero explanation, and somehow they have the gall to call it an "improvement".
  9. Jaimi

    Jaimi

    Member

    Joined:
    Jan 10, 2009
    Messages:
    2,267
    Sorry - was just trying to help, I don't work for Unity, and I have no clue why they want to remove them, but I assume there must be some reason or they wouldn't do it. Still, It seems like a junction point would work fine in place of a symlink for your usage, though of course they only work on NTFS. Maybe someone from Unity will jump in.
  10. kersk

    kersk

    Member

    Joined:
    Jan 2, 2012
    Messages:
    53
    I ran into this problem when I switched from a windows dev machine to os x, I was depending on symlinks and had to switch over to using rsync to manually keep shared code in sync.
  11. Aurore

    Aurore

    Community Rambo Unity Technologies

    Joined:
    Aug 1, 2012
    Messages:
    1,685