I find this library really awesome , i want to point to some important topic about RUNNING state:
https://devforum.roblox.com/t/btreesv5-rojo-support-fixes/1781449 as this is the latest version and you should use this for newer work , with this version when tree sees a RUNNING state while traversing , it pauses the tree and starts traversing from where it returned running instead of traversing all tree again. I don’t know if this was like that on prior versions , but i saw couple messages about this above. So i felt the need to clarify this for other devs thinking using this module.
I might be wrong on this, but I think I’ve found an issue with the way the tree traversal handles subtrees. The loop through nodes relies on “didResume” to determine whether or not to call the task.start() method of tasks. didResume is the result of data.paused and this works fine for trees.
However, if a sub tree ever returns the status RUNNING, data.paused is set to true. When the tree eventually returns a SUCCESS / FAIL result, this doesn’t swap data.paused or didResume.
This causes an annoying issue: whenever a tree returns the RUNNING result, subsequent nodes will no longer have their .start() methods called (even after the tree returns success), as the traversal also uses data.paused to evaluate whether the node at the current index has already had its start method called.
Currently:
My suggested amendment:
I’m hoping this amendment is correct and I haven’t made a glaringly obvious mistake! Anyhow, this plugin is an amazing resource and I’m extremely grateful to all of you who helped make it!
Sorry for the necro but are you planning on updating this module to work with Parallel Luau?
these module and plugin are amazing but the performance boost you can have with Parallel make it almost a waste
Is there any way to change the default script inside a leaf node? too many comments and I use a different style in my code
For some reason every time I use this plugin it disables the redo command, ctrl + shift + z. Is there a fix?
how to unlink a connection ? maybe am too dumb
is there a way to destroy or get rid of a behaviour tree once I don’t need it anymore?
I’d create a pull request on github