I have three files:
source.blend consists of a single cube with a single material on it. The material has an Image Texture node which reads
test_image.png from the local directory. This all works as expected.
destination.blend consists of a single cube. After File ⭢ Link... and selecting the material in
source.blend, the material is applied properly to the cube. This all works as expected.
Now, if within
destination.blend, I select File ⭢ External Data ⭢ Pack All into .blend, I get the message "No new files have been packed." If I move
destination.blend out of the directory, so that it can no longer reference
source.blend, the material is no longer available.
The documentation suggests that only some kinds of assets can be packed into a
.blend, but I would imagine materials should be on that list, no? Even if I don't link the material, but instead just create a new material with the Image Texture set to the PNG image, pack everything, and move
destination.blend into an isolated directory, the image isn't packed either.
What am I missing?
Similar Questions: Packing Texture Files In a Single Blend File does not answer the question. The accepted answer simply says to use File ⭢ External Data ⭢ Pack All into .blend, which as I described doesn't work. In the comments under the accepted answer, the asker points out that as of 2.92, "Packing movies, image sequences or tiled images not supported". But the image in question is not a movie, image sequence or a tiled image, and besides that, I've also demonstrated that materials are not being packed as well.
I've attached the files I created. You can create any valid PNG image as
test_image.png within the same directory.