Library Overrides

Library Overrides is the new system designed to replace and supersede Proxies. Most types of linked data-blocks can be overridden, and the properties of those overrides can then be edited. When the library data changes, unmodified properties of the overridden one will be updated accordingly.

Note

Il est considéré comme expérimental, et le système de proxy actuel sera maintenu pour quelques versions. La conversion automatique des proxies en librairies n’est pas prévue, il y aura un opérateur manuel pour faire cela, mais les résultats sur les personnages complexes ne sont pas garantis.

Par rapport aux procurations, la bibliothèque a priorité sur le soutien :

  • Multiple independent overrides of a same linked data (e.g. a whole character).

  • Ajout de nouveaux modificateurs et contraintes, n’importe où dans la pile.

  • Recursively chaining overrides (i.e. link and override overrides from another library file, etc.).

Note

There are still many known TODOs/issues that have to be addressed. Please check the release notes and Phabricator main task of the project, for more details.

Creating an Override

There are two ways to create an override of a linked data-block.

Single Data-Block Override

You can override a single data-block from two places:

  • The Outliner (it’s in the context menu of IDs), in which case all local usages of that linked ID will be remapped to the new local override.

  • The data-block menu in the UI (Shift-LMB on the chain icon to the right), in which case only that specific usage will be remapped to the new local override.

Make Library Override Operator

This one operates in the 3D Viewport, over linked objects or local empties instantiating a linked collection (typically, a linked character). It is very similar to the Make Proxy operator, and is found in the same submenu Object ‣ Relations ‣ Make Library Overrides….

Unlike the method described above, it will go through the whole hierarchy of collections and objects, and override all those needed to allow posing/animation of a character.

Note

Proper Collections Layout Matters

For this operator to work properly, it is crucial that all the collections needed by the character are children of the root (linked and instantiated) one. Otherwise, some won’t be automatically overridden, and manual work will be needed to fix the override.

Editing an Override

Essentially, an override is edited the same way as a regular local data-block. You can use operators on them, edit their properties from various editors, etc.

There are some limitations however, most notably Edit Mode is not allowed currently for overrides.

In most cases, as soon as you edit a property, you can see that it’s overridden by its teal blue outline/background (like the yellow/green/purple colors of animated/driven ones).

You can also animate overrides, animated properties just replace/supersede overrides then. Note that you cannot override-edit an existing animation, you’ll have to create a new action.

You can manually define or remove an override from the context menu of the relevant property.