Source & Build
Hengo keeps two things apart: the source you edit and the build you run.
The folders
Section titled “The folders”Everything lives under res://hengo/:
res://hengo/ collections/ # SOURCE, editable graph data (.res) <collection_id>/ collection.res # the collection manifest <script_id>/ identity.res # name, base class, dependencies save.res # states, actions, functions and macros states/ variables/ # one file per state and per variable scripts/ # BUILD, generated GDScript my_script.gd- Source (
collections/) is what the Hengo canvas reads and writes. Keep it in version control. - Build (
scripts/) is the compiled.gdyou attach to nodes. It’s regenerated on Compile.
The .gdignore
Section titled “The .gdignore”By default Hengo writes a .gdignore into collections/ so Godot’s importer ignores the source
resources, they aren’t meant to be loaded at runtime.
Turn on Development Mode in Settings to remove the .gdignore -
useful only if you’re inspecting the resources themselves.
What maps to what
Section titled “What maps to what”Everything in the generated file comes from something on the canvas:
| In the graph | In the file |
|---|---|
| A state | A class, with enter(), update() and exit() methods |
| A cell | The method of that name, holding your steps in order |
| A sub-state | A class nested inside its parent’s class |
| A variable | A script variable, @exported if you ticked Is Export |
| A function | A method, and a match on it where you called it |
| A macro use | A nested class carrying its own copy of the macro’s machine |
There is no interpreter and no runtime graph: the file is the whole thing, and it runs at the speed of code you would have typed.
Attaching the build
Section titled “Attaching the build”After compiling, attach res://hengo/scripts/<name>.gd to a node whose type matches the script’s
base class, then run the scene like any other GDScript.