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?
1 Answer
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:
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:
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:
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:
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:
- $\begingroup$ That's it, thanks! $\endgroup$Conifer– Conifer2025-08-25 09:47:52 +00:00Commented Aug 25 at 9:47




