@daviddekoning I’ve merged the PR, thanks for that I haven’t had a chance to look into the Blender docs to see if there is a work-around or some limitation that could be side-stepped.
The reason they get so long is that, since custom properties in Blender are just a dictionary, I prepend the key name with its parent key recursively, to allow the wrangling of the original property dictionary structure later on. I hazily recall this being because of not being able to nest dictionaries within custom Blender props, but I need to verify this. Either way, it is not optimal.
Do let me know if you have a better approach for this!
Actually, while I’m at it, it seems you can put a dict as a custom prop, however it just won’t be editable from the Custom Properties panel, which probably isn’t that big of a deal, unless you want to fiddle with the values in the UI, as well as through scripts (similar thing discussed here).
You can still access the property dictionary values, and it should also be possible using drivers and the rest of the fun Blender stuff.
I would hope we can edit these within the blender UI and then push them back to Revit via speckle. There are quite a few reasons around this but it comes down to usability and interoperability.
At the moment, you can edit nested custom props dictionaries through the Outliner, if you set it to Data API mode (instead of Scenes). You get all of the object properties, though, so you need to scroll down to the custom props, and it doesn’t automatically switch the focus to another object when you select it, so you need to manually scroll up and find that particular object. Highly annoying for moving around multiple objects, but it gives you the nested property tree.
Under object settings, you can adjust individual custom properties (floats, ints, strings), but dictionaries are just a text blob, which makes them impractical to adjust.
Implementing a better custom property tree view would be useful not only for Speckle but for generally working with Blender custom props, however this is a bigger task. I don’t have the bandwidth at the moment to do it, but perhaps it can be chipped away at over the next while.