Features Simple GUI. Write your own nodes using C# in almost the exact same way you normally would. Support for all serializable types and arrays. No runtime reflection, minimal reflection in edit mode. Elegant error handling in both edit and play mode. Ability to write your own renderers for custom types. External API for interfacing with nodes from regular game code. Support for prefabs. Common Unity events such as Start and Update, as well as custom events. Write comments in the GUI itself. Using the GUI Selecting a GameObject with a CommandHolder component attached will open the GUI. This displays commands as boxes with their fields underneath, and they can be dragged around. Buttons on top of the node can be used to link nodes together so that the first executes the second after finishing executing. Buttons along the right side of the node next to the fields are conditionals, which are triggered withing your own commands. Adding commands can be done by right clicking anywhere in the editor and selecting from the menu. Writing Custom Commands To write a command, there is a template available in the editor which is available through the Create menu. This will provide all of the boilerplate code needed. You can then fill in your fields and logic. Error Handling The editor automatically informs you when something is wrong in a way which does not block the rest of the editor. For example: For runtime errors, they can be handled within your code using 'handle.ThrowError'. This will gracefully exit from the command that is currently running and continue with execution without throwing a blocking error. I would write more but hopefully this gives a good idea of how the project works, also Unity doesn't allow more than 5 images .