1
$\begingroup$

Is it possible to assign a material to an object that is linked from a library, which is in my main file and not lose it? i seem to be able to assign materials from my mine file to the linked objects just fine, but every time i restart blender or reload the library, the material disappears. i'd prefer to keep my materials in my main file, as i am reusing lots of node groups and don't want duplicate node groups. can i just not use libraries for meshes at all then?

$\endgroup$

1 Answer 1

1
$\begingroup$

Yes. The key is that you need to make sure the material slot(s) are linked to the object rather than the data, as described in the manual.

In the linked library where the mesh is located, make sure your mesh has at least one material slot added. (The slot doesn't actually need to have an assigned material, but you need at least one slot.) This will make a Link button available, and you can switch it from the default of Data to Object:

enter image description here

This is a per-slot setting, so if you have multiple material slots, you'll want to change all of them to Object. Here, I have an ugly orange material named "Unassigned" placed in a single slot set to Object linkage:

enter image description here

Now, if you open a new file and File > Link... the object into your scene from the library file, you just need to make the Object data block local by clicking the little chainlink icon:

enter image description here

and you'll be able to change the material and have the assignment stick between reloads.

In an ideal world, this would work with library overrides (i.e., adding a library override to the Object data block, instead of making it local), but there are a bunch of material-related bugs in the library override system, so it didn't work very well in my testing.

Anyway, here are some monkeys linked from a library file with their Object data blocks made local but the meshes still linked, as you can see from the outliner:

enter image description here

One of the monkeys still has the "Unassigned" placeholder material linked from the library file, but the other two have new materials. After a reload, the material assignments stick:

enter image description here

$\endgroup$
1
  • $\begingroup$ That's it, thanks! $\endgroup$ Commented Aug 25 at 9:47

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.