I'm converting an add-on from Blender 2.79 to 2.8x (currently using 2.83.4), and unfortunately it relied on some properties tied to the Blender Internal render engine which were removed in 2.8. I've not had any problems recreating these for 2.8x, but I'm trying to find an a simple way to handle old .blend files which were built on 2.79.

Namely, I'm trying to recover the Material.texture_slots property which no longer exists in 2.8. I've tried searching for it after opening a legacy .blend file, and I've tried loading/linking a file in a script using bpy.data.libraries.load. But it appears that any properties without a 2.8x equivalent are always discarded once the file is loaded.

Is there any way to read these removed properties without requiring a user to have 2.79 installed? I'm trying to avoid a scenario where they need to pull down a new release of the 2.79 add-on, load their blend file(s) in 2.79, then run a script to copy the relevant BI properties over to the new custom properties I created for 2.8x, then save a copy of the blend file.


Your Answer


Browse other questions tagged or ask your own question.