Modular Tree

Woah, that looks amazing!

1 Like

Amazing results!

Maxime now that you are back, have a look please to some ‘roots’ related idea that I mentioned above. It would be great to have a way of producing such kind of roots too in Modular Tree.

And… a big thanks for offering this so useful tool! :smiley:

Amazing stuff! Can’t wait to try it out :slight_smile:

1 Like

Oh, it on now, yall. Can’t wait. :smiley:


@Maxime when it will be available for us?

1 Like

And Mtree addon will be support 2.93 and above?

It currently lacks important things such as uvs and curve support for parameters, but I’m working on automatic alpha releases so hopefully you should be able to test it soon (at least on windows).

And it will support 2.93 and above. It is not as subject to changes in the python API as before since most of the code is c++.


@Maxime the modification @YAFU mention earlier is seems working on my 2.93 version. And yes just for your addon I am still using blender 2.92 version. And this is a great news you are developing this addon again. Thanks man.

1 Like

I assume a Linux version is coming too, right?


Indeed, it should be quite straightforward :slight_smile:


wow, that’s impressive! Both the time and the result!

I saw there is alpha relese on github. Is it stable and installable? I can’t make it work on blender 2.93.

I create some bush with grease pencil. Convert result to mesh. I even try to rename it complitely, including like egh… internal object name, but when i press “update stroke” my renamed bush are deleting.
How its even possible?

It is definitely not stable or feature complete, but now it should work on blender starting from 2.93


The latest mtree_rework can be installed in 2.93 and 3.0 now, but it can’t be activated (on linux):

2.93 error (similar in 3.0):

Traceback (most recent call last):
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/scripts/modules/", line 351, in enable
    mod = __import__(module_name)
  File "/home/marv/.config/blender/2.93/scripts/addons/modular_tree-mtree_rework/", line 16, in <module>
    from . import python_classes
  File "/home/marv/.config/blender/2.93/scripts/addons/modular_tree-mtree_rework/python_classes/", line 2, in <module>
    from . import nodes
  File "/home/marv/.config/blender/2.93/scripts/addons/modular_tree-mtree_rework/python_classes/nodes/", line 9, in <module>
    from .branch_node import BranchNode
  File "/home/marv/.config/blender/2.93/scripts/addons/modular_tree-mtree_rework/python_classes/nodes/", line 3, in <module>
    from ... m_tree import BranchFunction
ImportError: cannot import name 'BranchFunction' from 'modular_tree-mtree_rework.m_tree' (unknown location)

so it needs to be compiled with first, but it does not compile, probably because is not included.
error message was: command not found

you don’t have to compile anything since it’s built and updated in the release automatically. Did you use the source code or did you download the release ?

I can not use Release V4_0_0alpha in 2.93 or 3.0 - it installs and prints

Modules Installed () from '/home/marv/Downloads/' into '/home/marv/.config/blender/2.93/scripts/addons'

but does not show up in the addon list (I filtered for tree). The files in /scripts:


Moving them to a separate folder (/addons/mtree) like most other addons did not help either.

So I downloaded the latest source code zip and while it does show up in the addon list, I can’t activate it.
The source version needs to be compiled, but it does not work, probably because of the missing sh file.

Out of curiosity, are you using a Flatpak or Snap version of Blender. I ask, because I used a flatpak rev a little while back, and it gave me a few issues with some plugins.

I’m using it right now, and while it’s obviously an alpha, I’ve managed to make a couple of very cool ugly trees.

1 Like

Great, so it is working. Perhaps I’m doing something wrong.

No snap or flatpack here, just official 2.93.0 download and compiled 3.0.
The only other related console output was
fake_module: addon missing 'bl_info' gives bad performance!: '/home/marv/.config/blender/2.93/scripts/addons/python_classes/'

But after putting all related addon files in scripts/addons/ in a separate “modular_tree” folder, I got this error:

AST error parsing bl_info for: '/home/marv/.config/blender/2.93/scripts/addons/modular_tree/'
Traceback (most recent call last):
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/scripts/modules/", line 137, in fake_module
    mod.bl_info = ast.literal_eval(body.value)
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 105, in literal_eval
    return _convert(node_or_string)
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 94, in _convert
    return dict(zip(map(_convert, node.keys),
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 104, in _convert
    return _convert_signed_num(node)
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 78, in _convert_signed_num
    return _convert_num(node)
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 69, in _convert_num
  File "/home/marv/blender-2.93.0-stable+blender-v293-release.84da05a8b806-linux.x86_64-release/2.93/python/lib/python3.9/", line 66, in _raise_malformed_node
    raise ValueError(f'malformed node or string: {node!r}')
ValueError: malformed node or string: <ast.Call object at 0x7fc53c1bcc40>

I didn’t do anything particular special to get it working. Just dropped it in my addon folder nested amongst all my other Blender assets, hopped over to edit/preferences/addons, and installed it from there.

I did disable the previous version of MTree before installing this latest update though. Did you do that?