
One of the ancient but powerful Blender features is to be able to share data from Blender files with other files, to create libraries of objects or animations. This is a very important feature in a production environment, so it has been verified to work and fixed in many places.
Below a recap of the functionality of this system, and some usability hints.
Appending and Linking
When you (SHIFT+F1) append data from another .blend file in your current project, it actually already uses dynamic library linking. In the end of the append function, these links then just get tagged to become local.
This is an important issue to keep track of, since it doesn't alllow you to use a .blend for dynamic linking *and* appending at the same time.
Expanding links
Also important to know is that almost all relations between "Library data" in Blender (see Blender Architecture) get expanded on a link or apppend command. For example, when you only indicate to link a specific Group, all its objects, with all geometry, materials and animations follow automatic. That is called "indirect linking". Such indirect linked data is not stored when you save a .blend file, ensuring that when you load a file again, it only looks for the linked Group in the library .blend, and expands it again with the data as stored.
Indirect data shows up with a red "Li" icon. Direct linked data with orange.
Groups
When you indicate to Append a Group, it will also create links in the current Scene to these Objects. So the Objects then become visible individually.
However, when you decide to Link a Group, it won't do that. In that case you can only use the Group as a 'duplicator' (SHIFT+A, Group menu) or for other cases you might need Groups. (see Object Groups).
Recursivity & Relativity
One of the important fixes in 2.42 is that recursive library linking works again, even when individual .blend files use different relative paths.
That means you can have a Material library .blend, which is used by a objects in a Groups .blend, which get combined in a Scene .blend, which in turn is a backdrop Scene ("Set") in your current project.
Speedup
Code cleanup allowed a better structuring of calls, including introduction of binary search in the code that reconstructed relationships. factor 2-5 speedup for complex files can be expected.
Outliner and Data Browse
Outliner now shows with colored Icons which data comes from a Library, and what is direct or indirect Linked.
The "Data Browser" (SHIFT+F4) now shows the .blend filename for library data.