How to pack linked libraries

I can’t figure out how to pack linked libraries (not resources). I can do it manually by clicking ‘make local’ on every datablock in the outliner but can’t find any batch command for the entire file. File → External Data → Pack Linked Libraries doesn’t do it (doesn’t seem to do anything at all in fact).

Specifically i’m trying to pack some files for distribution. These contain many linked assets from my library including objects, modifiers and node groups inside those. We can pack resources easily with one click, so how to do it for libraries?

Not sure there is an easy way within blender for now. But you can look into BF’s BAT ( blender asset tracer) it’s their command line tool to do exactly that. The command IIRC is bat pack and that will put every libs in a folder next to your .blend so you can send it to a render farm, or to someone for collaborative work.

That said , the simplest way is still to put everything in a project folder next to your file so you can just then the whole project folder !

Good luck !

Thanks, this looks like a great tool, will actually work for some cases (assuming it only packs the assets i’ve used and not the entire library). I’d still highly prefer packing everything into one file.

Am I misunderstanding what ‘Pack Linked Libraries’ is supposed to do? Because it looks like exactly what I want. Other than that I tried to find a script that just runs ‘make local’ on everything but nothing turned up.

Sure it will pack only the dependencies of your current blend files. It will in fact recreate your file structure next to your .blend

Hum, it’s worth investigating a bit , the documentation is … hum …
https://docs.blender.org/manual/en/5.0/files/blend/packed_data.html?utm_source=blender-5.0.1#pack-linked-libraries

It’s been a while, but I think the original plan was to expand that operator from images to stuff like rig and else… Hence that evocative name, but I think the plan didn’t go as planned… It’s worth getting confirmation but I think it’s only packing textures for now.

You can try to make everything local also that depend on the kind of library you’re carrying , could be a can of worm because of some corner cases. Basically the more complex your libs are the better chance that the script could fail…

Anyway, not sure I can help further… Maybe try an AI to write a basic script and see how that plays

Seems like a classic case of ‘secretly broken feature that we didn’t bother to point out’. Thanks for the info. I’ll leave this unsolved for now hoping that someone else might jump in with something. Besides that I’ll eventually try to write a script myself, but boy programming takes me a very long time.