Hey guys, I've been developing #StateMachine addon for some time and now it's available on github for you to check out and decide if this is something that would fit into your workflow. It's based on the one that I'm using in my city builder project, just cooler(though this one is in a heavy alpha stage and needs plenty of testing). This addon is for Godot 3.1, so again- be aware that this stuff is unstable.
Find it on github: https://github.com/UgisBrekis/StateMachine
Examples project: https://github.com/UgisBrekis/StateMachineExamples (Addon is a submodule, so make sure you initialize that)
Demo:
Here's a rough summary on how to use it:
Basically this addon adds a custom StateMachine node, which you edit through the State Machine editor which can be found at the bottom panel(it should pop up automatically if the state machine node is selected).
There are 2 ways to create states:
1) You can create states in the graph editor by left clicking and then pressing "New state". It's gonna add empty state node to the graph. If you double-click on it, it's gone give you options to rename and assign state script in the inspector. If you assign the state script, state node is gonna read all the export variables and it's gonna check what transitions have you defined and will create output slots for each.
2) (Preferred) You can just write your state script(there are certain rules about script composition; just check example_01.gd) and when you're done, just drag and drop the script file from the FileSystem to the State Machine editor. It's gonna create a state with assigned state script.
Now, if you select any single state which has state script assigned and it has export variables, those properties should appear in the inspector under "State Properties" category. Anyway, please check the video, it should clarify how things work in this tool and I will do my best to prepare additional info, tutorials, examples as soon as I can.
If you encounter bugs or have suggestions, please let me know.