Material#texture_slots has been removed as of Blender 2.80
For some reason, they didn't include the removal in the release notes for 2.80 :(
Anyway, it seems that all of the texture data is now stored in the node trees.
https://docs.blender.org/api/2.93/bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage
I think this is the node that manages texture nodes for materials, but they have removed any direct way of determining if the texture is being used for color or for normal maps. So it will involve some clever node tree traversal to determine which textures are being passed to which inputs further along the graph.
Material#texture_slots
has been removed as of Blender 2.80 For some reason, they didn't include the removal in the release notes for 2.80 :(Anyway, it seems that all of the texture data is now stored in the node trees. https://docs.blender.org/api/2.93/bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage I think this is the node that manages texture nodes for materials, but they have removed any direct way of determining if the texture is being used for color or for normal maps. So it will involve some clever node tree traversal to determine which textures are being passed to which inputs further along the graph.