Opening old .blend files (missing images)

Link, Like, Share.

For newer versions of Blender opening old projects may result in content appearing untextured in the 3D View, a consequence of dropped support for Blender Render and Multitexture style materials in favour of the Node system established with Cycles – Nodes are now the primary means of generating Materials in Blender.

Important: when opening older *.blend files (pre Blender 2.79), disable Load UI (‘cog’ icon upper-right corner of the file browser) to omit layout and interface elements that may cause further issues due to UI incompatibilities with newer versions of the application.

Disable Load UI when opening an old blend file
To ensure compatibility with newer versions of Blender, when opening old *.blend files disable the Load UI setting in File Properties (N).

Material Compatibility

With the removal of Blender Render (Blender Internal) as the default rendering engine, and updates to the Node based material system (Eevee etc.), *.blend files and projects created pre Blender 2.79 will appear untextured (but not necessarily absent material assignments) because the older material system and its Multitexture Shading mode are no longer supported. Essentially all that’s shown is the Diffuse colour associated with each Material (white by default) – meshes and objects may be coloured but not textured.

Design note: for more on setting up basic node-based materials click here.

Materials in Blender 2.79 or below generally display without scene lighting & other complexities
Missing materials from old *.blend projects
Old *.blend files (pre Blender 2.79, top) when open into newer versions of Blender (bottom) will appear untextured because the Multitexture and Blender Render systems are not supported or compatible with Nodes, requiring they be updated.

Missing Textures

When opening or using Append to bring in data from old *.blend projects that have Materials set up correctly [1] with an Image property that includes an internal or external reference to a bitmap [2] (*.jpg, *.png etc. or generated data e.g. UVGrid), the associated assets will generally have been loaded along with other data contained in the *.blend file, but not referenced or linked due to differences between the new and old Material system. To fix this the relationships between the Materials elements need to be rebuilt using the Nodes system. This is done in Shading Workspace using the Node Editor.

Design note: currently there isn’t a way to convert older non-node based Materials to the new automatically, so the process will have to be done manually.

Although textures are not shown they are loaded with the old *.blend file data
Although images are not shown when opening old *.blend files into Blender [1] they are loaded [2]. This means they are available for use in reestablishing the projects Materials using the Node system.

Use Nodes ( Convert to…)

To convert or update a Material, select a mesh or object with existing Material assignment(s), then in Material Properties [3] click the Use Nodes button [4] (which turns blue to confirm). The panel will update with a new set of options that can be left untouched for simple materials.

Design note: meshes and objects assigned the modified material will display white (in Material Preview) indicating an Image property has been found but not yet linked (although typically mapped to the objects UV’s), or in instances where no image or link found (effectively an incomplete or broken material), will appear pink.

Enable 'Use Nodes' in Material properties
To start the conversion process in Material Properties [3] make sure Use Nodes is enabled [4]. The properties shown in the panel will update commensurate using Nodes (the properties shown are similar in functions to the old material system but more distinct).

Shading Workspace/Node Editor

Once Nodes are active click Shading Workspace [5] to access the Node Editor (lower half of the layout). Here the editors workspace will be occupied by two node; Principle BSDF [6] and Material Output [7].

Design note: Principle BSDF and Material Output are placed by default as basic material elements. They can be removed or modified as required.

Using the Node Editor to modify broken materials
In Shading Workspace [5] the Node Editor is accessible, alongside the 3D View, where a node-based material [6 & 7] can be set up using the basic properties brought in with the old file.

To this basic set up, in the Node Editor click the Add menu [8], Texture, then Image Texture to place an Image Texture node into the workspace – Add » Texture » Image Texture [9]. Then in the new node click the Browse Image to be linked button [10] and select the image [11], brought in with the old *.blend file, from the list. This creates an association between image and node.

Design note: when looking for the image it may not be labelled as expected i.e. the file name, but may instead be named after the datablock used to describe the image (this equates to the naming input field for Image properties in Blender 2.79 et al).

Add a Image Texture node to the Node-tree
Set the image associated with the node
Add an Image Texture node to the material [8 & 9] and then select the image to be associated with it [10] selecting the bitmap from those brought in with the old *.blend file [11].

Finally click-drag the Color output [12] of the Image Texture node across to the Base Color input [12] of Principled BSDF. As soon as this is done the image will appear mapped to the selected object.

Design note: the image will be displayed assuming the object is UV unwrapped and image mapped (UV Editing Workspace).

Link nodes to complete the material
Once an image has been associated with the Image Texture node it can be linked to Principled BSDF – Color output [12] of Image Texture to Base Color input [13] of Principled BSDF.

Transparency

For Transparent materials similar issues may occur; that assets are loaded or can be appended but not assembled requiring a similar setup to the above. To do this, with Use Nodes enabled and the basic material set up per the above, add two extra nodes, Transparent BSDF [14] – Add » Shader » Transparent BSDF, and Mix Shader [15] – Add » Shader » Mix Shader. Connect the nodes as follows (see below);

– Image Texture » Principled BSDF – Color output to Base Color input.
– Image Texture » Mix Shader – Alpha output to Fac input.
– Principled BSDF » Mix Shader – BSDF output to Shader input.
– Transparent BSDF » Mix Shader – BSDF output to Shader input.
– Mix Shader » Material Output – Shader output to Surface input.

Finally in Material Properties change Blend Mode in Settings to Alpha Blend (Clip or Hashed).

Design note: for more on setting up transparency and transparent materials click here.

Transparent materials need to be set up as well
For transparency, assuming the assets used include an alpha channel (where alpha determines the degree of transparency), add two extra nodes to the materials, Transparent BSDF [14] and Mix Shader [15] then link them to the broader material.


Link, Like, Share.