Using Geometry nodes, is it possible to take a given string and loop through each character, inserting any other character(s) until the end of the string?

For example, say I want to take the following string:


... and add '-' after every character to become:


I understand how to do this with Javascript with a for-loop, but I can't see an obvious way how to loop through an arbitrarily lengthed string using Geo Nodes.


1 Answer 1


There is no functionality for that in Geometry Nodes. You could use Python app handler though:

enter image description here

  • $\begingroup$ Do you happen to know a good place to learn about the sequence of events that the handlers observe? ( It's not obvious to me, for example, that the inputs to modifiers are evaluated after depsgraph update ) $\endgroup$
    – Robin Betts
    Commented Feb 22, 2023 at 18:06
  • $\begingroup$ Actually, I happen to know just the right place for it! There is this online thing called Blender Stack Exchange and people ask all sorts of questions about usage of Blender including its Python API and they get amassing answers all the time! I bet it would be a great place to find out about app handlers as well if one decided that Python was the right way to work around this lack of string manipulation functionality in Geometry Nodes. :D One could also have a look at the doumentation of course. $\endgroup$ Commented Feb 22, 2023 at 18:24
  • $\begingroup$ :D ... snark ! The docs weren't helping me understand that much. I was looking for a sketch of what the depsgraph contained, and if not the parameters to modifiers, when those were passed, then. I'l try to phrase a question of my own.. $\endgroup$
    – Robin Betts
    Commented Feb 22, 2023 at 18:35
  • 1
    $\begingroup$ Oh, it was a serious question. Well, to be honest, I don't know much about how it works, just that it does. I thought the OP would have to look into that on their own. Depsgraph update happens quite a lot the way I understand - every time anything changes, so for usable script one might benefit from checking if the text has actually changed before going through all the rest of the script. Another type of handler like frame change might also be more appropriate depending on the situation. $\endgroup$ Commented Feb 22, 2023 at 18:48
  • $\begingroup$ While not ideal (I'd love to keep everything within Geometry Nodes), this works just fine. Thanks @MartynasŽiemys $\endgroup$ Commented Feb 23, 2023 at 12:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .