Symlink Unity Libraries in Build settings?

The “Symlink Unity Libraries” checkbox popped up in 3.4, but what does it do if checked? I don’t think it’s been added to the documentation yet as I couldn’t find it anywhere…but if it has, then please excuse me for asking and please provide a link if possible :wink:

Thanks in advance,
Ronron

There you go. BuildOptions.SymlinkLibraries it says Symlink runtime libraries when generating iOS XCode project. (Faster iteration time).

Ha! I knew I missed it somewhere…thanks for the link zine :slight_smile:

Nope. But i am not using iOS build so i can’t really help much. :smile:

What does “Symlink runtime libraries when generating iOS XCode project. (Faster iteration time)” actually mean though? :face_with_spiral_eyes:

1 Like

Yeah, what does it really do?

+1
?

+1!

symLink = Symbolic Link in other words basically a shortcut, a pointer to the libraries, I would imagine that the libraries are uploaded to the device once and as you iterate builds it only copies over the appcode, not the unity libraries as they already exist on the device. This is of course purely conjecture but probably close to what happens based on how other build environments use symlink.

Symlink Unity libraries means that Xcode project generated by Unity will directly reference Unity iOS runtime library from Unity Editor install location. It saves your disk space (runtime lib is ~300 MB) and Unity Editor can faster generate Xcode project, because it does not need to copy additional 300 MB.

You should not use it when:
a) you are exporting Xcode project which you are going to share with somebody else
b) you are exporting Xcode project to make final build and you want to archive it for backup purposes.

25 Likes

Thank you Mantasp for finally answering this question clearly. I have been sending my clients builds with missing libxxx files all this time and didn’t know this was the culprit.

files in Plugins/iOS seem to be symlinked even when this checkbox is unchecked. Any way to fix that?

Feature request? :slight_smile:

hmm feature request for something UT broke during 3.x :wink:
Sounds more like bug reporting it so the generated XCode projects are finally xcode projects again not sym link collections you can not version as nobody else will be able to use them at all. It takes ages to clean up xcode projects for discrete versioning in a way that allows others from the team to compile them if needed etc and I’m really asking myself to what degree UT is using their own technology nowadays if they never got hit by it … :wink:

Ok :slight_smile: do you have case number?

Any Solution to the Plugins SymLinking during the build?

Sorry to necro a thread, but I just had a situation where I needed to supply an xcode project to a client built with IL2CPP in Unity 4.6.3.
I had this box unchecked when I built, but it still symlinked the libiPhone-lib.a library. Is this feature currently broken with IL2CPP?

Sounds like a bug.
Report it!

Go to Build Settings and check: Symlink Unity Libraries.

You’ll find your build size folder drop down to normal levels.

Just as a suggestion:
I think it would be very useful if answers to questions which arise from insufficient documentation were integrated into it. IMHO as a developer it is quite cumbersome to find all traces of information in different places about what’s supposed to be fully explained in the docs. I think questions from the community are perfect for improving the docs since they reflect the needs best.

3 Likes