Unmaintained addons and scripts

Are there some addons or scripts that you find useful by they doesn’t work on current blender version because they were abandoned / unmaintained / bugged or for some reason?

Sometimes they are easy to fix if you have some experience (and sometimes people have no coding experience at all). I wanted to create this topic for this type of cases so people can share those kind of problematic scripts / addons.

I would be interested in helping solve those to help community especially if it’s not just personal scripts and fixed script / addon can be useful to more people.

5 Likes

Found abandoned addon if someone would also be interested to help - Floorboard Generator, issue is easy reproduce - install the addon and try to create floorboard from Shift-A menu, it will lead to crash.

1 Like

I used blender up to 3.4.
I don’t know because I didn’t use it in later versions.

There is a conflict on blender 3.6. :sweat_smile:

Crash on normal launch. Warnings with --debug-memory.:

Memoryblock CDMloopCol: end corrupt
Memoryblock RNA_property_string_get_alloc: Additional error in header
Memoryblock Additional error in header: is also corrupt
Info: Removed 0 vertice(s)

Looks like a CustomData block is reallocated in the uv shuffle loop and causing a dangling reference.

The uv data is bound at line 524:

    uv_layer = mesh.uv_layers.active.data

The uv data is written to at line 560

            uv_layer[loop_index].uv = coords.xy

If uv_layer is not an extra indirection but instead a reference to the raw CustomData layer array, which the crash suggests, binding the name is the problem itself, just like binding collection property objects.

So the fix is probably to use the qualified path so the rna accessors can get the updated pointers:
Still at line 560:

            # uv_layer[loop_index].uv = coords.xy # Old
            mesh.uv_layers.active.data[loop_index].uv = coords.xy  # New

Can you confirm this fixes it?

2 Likes

I think this is it. I’ve managed to narrow it down too and reported it as a bug #112432 - EXCEPTION_ACCESS_VIOLATION crash using python API - accessing vertex colors / assigning uv - blender - Blender Projects

Now switched lines uv_layer = mesh.uv_layers.active.data and vertex_colors = mesh.vertex_colors.new().data so that uv_layer will be accessed only after vertex color is already created and crash is gone. I’ll submit the change to addon as a PR.

5 Likes

Thanks so much, mate.

Is it possible you could look into Textools support for 4.0?

Also maybe Dreamuv addon?:
This issue: https://github.com/leukbaars/DreamUV/issues/34

Floorboard-Generator addon has been updated. :slightly_smiling_face:

2 Likes

Is it possible you could look into Textools support for 4.0?

it doesn’t work on 4.0 at all?

Also maybe Dreamuv addon?:
This issue: https://github.com/leukbaars/DreamUV/issues/34

I could help if something has broke completely but I don’t want to work on adding features to already working addons, there are just too much thing to tackle then.

1 Like

Yeah, it doesn’t work in 4.0. It gives an error when you try to enable it in the preferences window. You can check here: TexTools for Blender - #970 by oo_1942 There is someone maintaining it and he mentioned the addon needs a full revision to work properly in 3.6 and especially 4.0. Maybe you can take a look and see if you could help?

I understand. The dev hasn’t worked on the addon in a long time if I am not mistaken. That feature I believe was how the addon was supposed to work but it doesn’t. I think adding something to a forked version wouldn’t be a bad idea but if you don’t want to. That’s okay.

Yeah, it doesn’t work in 4.0. It gives an error when you try to enable it in the preferences window.

@melvi are you sure you’re using the latest version from the github repository?

If you’re getting something like the error below it means you’re using latest version from the releases page which was 18 months ago.
Version from Github repository seems to work fine (atleast on enabling it in addon preferences).

Traceback (most recent call last):
  File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\modules\addon_utils.py", line 364, in enable
    mod = importlib.import_module(module_name)
  File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\addons\TexTools-Blender\__init__.py", line 128, in <module>
    from . import op_texel_density_set
  File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\addons\TexTools-Blender\op_texel_density_set.py", line 3, in <module>
    from bpy.types import FaceMap
ImportError: cannot import name 'FaceMap' from 'bpy.types' (unknown location)

Also fixed FloorBoard Generator for 4.0 and submitted pull request.

It was crashing with error AttributeError: 'BMLayerAccessEdge' object has no attribute 'crease' on line creases = bm.edges.layers.crease.active since in 4.0 crease attributes were moved to just float attribute with name “crease_edge”.
Wanted to post it here because after 4.0 there probably will be a lot of people meeting the same error. Here’s the solution that will work before and after 4.0.

2 Likes

It’s not a good idea to spend time repairing addons for an Alpha development version like Blender 4, things are constantly changing there and there will be great breakdowns of compatibilities:
https://wiki.blender.org/wiki/Reference/Release_Notes/4.0/Python_API

My recommendation is to only work with stable Blender releases.

Anyway if you have time available, you could work with important officially included addons in 3.x to port them to Blender 4.0 and officially share them so that they are included again in 4.0. If you do this, you will have to keep an eye on new API changes until Blender 4 is in beta status.
https://wiki.blender.org/wiki/Process/Addons

Thank you for the recommendation.

You are correct. Thanks for letting me know. It works in 4.0 now. Thank you. :pray:

Delete all custom transform script!
I use this script found here on the forum since some times but it’s no longer working with 3.6. I found it really useful because with one click you could delete all custom transform!
so if someone can update it that would be supercool!:


import bpy

try:
    context.scene.transform_orientation_slots[0].type = "" # This ALWAYS throws an error
except TypeError as inst:
    transforms = eval(str(inst).split(" in ")[1])
    for transform in transforms[6::]:  # 5 first transforms are builtin. You can't delete them
        context.scene.transform_orientation_slots[0].type = transform
        bpy.ops.transform.delete_orientation()

Here’s the updated version. It broke because in Blender 3.6 they’ve added new PARENT transformation. I’ve changed the script so it won’t broke the next time the list of builtin transformations will change. You can post it somewhere you’ve found it too, so it’ll reach more people. I also have found similar script on stackexchange and updated it.

import bpy

context = bpy.context
transform_slots = context.scene.transform_orientation_slots
builtin_transforms = [i.identifier for i in bpy.types.TransformOrientationSlot.bl_rna.properties['type'].enum_items]

# hacky (but the only way) to get the all available transforms
# https://blender.stackexchange.com/questions/136019/blender-2-8-api-how-to-get-a-list-of-custom-transform-orientations/196080#196080
try:
    context.scene.transform_orientation_slots[0].type = ""
except Exception as inst:
    exec("transforms = " + str(inst).split("in")[1])

for transform in transforms:
    if transform in builtin_transforms:
        continue
    transform_slots[0].type = transform
    bpy.ops.transform.delete_orientation()
1 Like

Done, many thanks to you @Andrej I’m going to try it now!

Edit: works great :+1:

Hi Andrej,

Any chance you could please look into this for Principled Baker addon? Any chance you could also please look into updating it for 4.0? There has been changes to the Principled Shader in 4.0 so the baker might have issues.

Also any chance the ability to bake to already existing textures can be added? Natively in Blender that is done with turning the Clear image tab when baking on or off.

Any chance you could please look into this for Principled Baker addon? Any chance you could also please look into updating it for 4.0? There has been changes to the Principled Shader in 4.0 so the baker might have issues.

What issues does it have on 4.0 exactly and how to reproduce them?

Also any chance the ability to bake to already existing textures can be added? Natively in Blender that is done with turning the Clear image tab when baking on or off.

Don’t want to spend time working on new features.

1 Like

There are changes that has been made to principled shader 4.0. Specular has been removed, changes made to subsurface as well. But I think this is asking for features to be added since there has been changes to the materials so no worries. :slightly_smiling_face:
Thanks for considering it. :pray:

Hi, sorry for the bother.

Any chance you could pls upgrade this addon to 4.1 alpha?

Hope all is well with you?