Skip to content

Source & Build

Hengo keeps two things apart: the source you edit and the build you run.

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 .gd you attach to nodes. It’s regenerated on Compile.

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.

Everything in the generated file comes from something on the canvas:

In the graphIn the file
A stateA class, with enter(), update() and exit() methods
A cellThe method of that name, holding your steps in order
A sub-stateA class nested inside its parent’s class
A variableA script variable, @exported if you ticked Is Export
A functionA method, and a match on it where you called it
A macro useA 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.

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.