Experimental. Support for editing animation trees is early and incomplete. Expect rough edges — the editor will be improved and expanded over time.
Hardcoded parameters & callbacks. The game drives many animation trees through fixed parameter and callback names (via parameter / callback nodes). Those hooks are hardcoded in the engine — adding new ones, or renaming existing parameter / callback nodes, may do nothing or cause issues. Work with the parameters and callbacks already in the tree, and with the values they supply.
Open Edit → Animation Trees to launch the Animation Tree Editor. Animation trees live inside ANIMATION.PAK as ANIM_TREE_DB databases — they choose, blend, and layer clips based on parameters and game context.
This editor is separate from the Animation Editor, which browses the clips themselves. Use this one when you need to inspect or change tree graphs, node parameters, and wiring.
For a full catalogue of node types, parameters, and pins, see Animation Tree Nodes.
The editor uses a docked layout. Panels cannot be closed from their tabs.
Left dock — split into two lists:
Type in the search box above the trees list to filter by name (case-insensitive). Changing set clears the search and reloads that set's trees.
Select a tree to open its graph in the centre document area.
Centre document tabs show the open tree as a node graph. Nodes are coloured by type. Flow generally runs left-to-right from the tree root (ANIM_Tree_Top_Level).
Pan and zoom the canvas as with other OpenCAGE node editors. Select a node to populate the properties panel.
Right dock — property grid for the selected node. Every node has an editable Name; other fields depend on the node type (strings, floats, bools, enums, bone-mask flags, nested arrays, and so on).
Linked child / parameter references that are wired on the graph usually appear as read-only names in the grid — change those relationships via pins on the canvas.
Pick a set and tree from the left, then edit on the graph and in the properties panel.
Click a node on the canvas to select it. The properties panel updates immediately. Multi-select follows the graph editor's normal selection behaviour where supported.
With a node selected, edit values in the right-hand grid:
AnimationPool on randomised leaves, or States on selectors / parametrics). Empty animation pool slots are skipped on saveSee Animation Tree Nodes for which fields each type exposes.
Right-click empty canvas space and choose Add Node, then pick a type from the submenu (exact ANIM_* names, alphabetically). The tree root cannot be added from this menu — it already exists for every tree.
New nodes appear near the click position. Wire them into the graph with pins, and set parameters in the properties panel.
On the graph canvas:
Availability depends on what is under the cursor / selected (for example Add Node when clicking empty space; Delete Link when hovering a link).
Pins are colour-coded by role and sit on fixed sides of each node:
trigger)State_01, base_node, NODES)value)Connect a provider's bottom value pin to a consumer's top pin. Connect flow outputs on the right to the next node's left trigger.
Parameter, property, callback, and similar nodes typically have no trigger pin — they only expose a value output.
Use the toolbar Save button in the Animation Tree Editor window. That writes the edited tree databases back into the animation PAK entries — it is separate from File → Save Level in the script editor.