Linked Libraries

These functions help you reuse materials, objects and other data-blocks loaded from another blend-file. You can build libraries of common content and share them across multiple referencing files.

Library Reload & Relocate

From the context menu of the library items in the Outliner’s Blender File view, you can reload and relocate a whole library.

Reloading is useful if you changed something in the library blend-file and want to see those changes in your current blend-file without having to re-open it.

Relocating allows you to reload the library from a new file path. This can be used to either fix a broken linked library (e.g. because the library file was moved or rename after linking from it), or to switch between different variations of a same set of data, in different library files.

Broken Library

While loading a blend-file, if Blender cannot find a library, it will create placeholder data-blocks to replace missing linked ones.

That way, references to the missing data is not lost, and by relocating the missing library, the lost data can be automatically restored.

Proxy Objects

Reference

Editor:3D View
Mode:Object Mode
Menu:Object ‣ Relations ‣ Make Proxy…

This makes the active linked object into a local proxy, appending “_proxy” to its name. It allows you to make changes locally over an object (or collection) linked from an external library.

Possible changes are restricted, you can mainly edit and animate transformations of the proxy object, and its constraints. Those changes remain local, they are not sent back to the external library.

Hint

Another way to transform a linked object locally is with the use of Collection Instancing. Instead of linking objects directly, it is often more useful to link in collections, which can be assigned to empties and moved, while maintaining the link to the original file.

It is also useful to be able to add/remove objects from the collection (from within the library blend-file) without having to manage re-linking of multiple objects.

Proxy Armatures

On rigged models, proxy objects allow you to edit and animate their poses.

It is also possible, in the source (library) blend-file, to protect some bone layers from being editable in proxies. This helps keeping complex rigs usage sensible, by only exposing some ‘public’ bone layers as editable by users.

Set the Protected Layers in the source file using the Skeleton panel of the Armatures properties. See Armature Layers.

Make Local

Reference

Editor:3D View
Mode:Object Mode
Menu:Object ‣ Relations ‣ Make Local…

Reference

Editor:Outliner
Menu:Context menu ‣ ID Data ‣ Make Local

Makes the selected or all external objects local to the current blend-file. Links to the original library file will be lost, but it will make those data-blocks fully editable, just like the ones directly created in that blend-file.

Options

The operation available from the Outliner’s context menu has no options, and only affects the selected data-block.

The operation available from the 3D View only directly affects selected objects, but it can also make local the objects’ dependencies:

Type

Optionally unlinks the object’s Object Data and Material Data.

Selected Objects, + Object Data, + Materials, All (i.e. including all scenes)

Known Limitations

For the most part linking data will work as expected, however, there are some corner cases which are not supported.

Circular Dependencies

In general, dependencies should not go in both directions.

Attempting to link or append data which links back to the current file will likely result in missing links.

Object Rigid Body Constraints

When linking objects directly into a blend-file, the Rigid Body settings will not be linked in since they are associated with their scene’s world.

As an alternative, you could link in the entire scene and set it as a Background Set.

Compression & Memory Use

Linking to blend files with compression enabled may significantly increase memory usage while loading files.

Reading data on demand isn’t supported with compression (this only impacts load time, once loaded there is no difference in memory use).