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 raw Animation Archive Editor (PAK browse/extract). Use it 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.
ANIMATION.PAK browse / extract / repack