Introduction

The CAGEAnimation Editor is a timeline UI for CAGEAnimation function entities. It edits float curves over time, string events that fire pins on the flowgraph, and animation-entity bindings used by play-animation nodes.

This is not the same as the Animation Archive Editor, which browses ANIMATION.PAK. The CAGEAnimation Editor works on a scripting entity inside a composite.

Opening the Editor

  1. Select a CAGEAnimation entity in the composite list or flowgraph.
  2. In the Entity Inspector, click Function.
  3. The CAGEAnimation Editor opens on a working copy of that entity. Changes apply when you click Save.

While the editor is open you can jump to linked entities (for example from an Animation Entity binding) without closing the window. Save still writes back to the original CAGEAnimation by ID.

Layout

The window is split into three main areas:

  • Animated parameters (left) — a tree of linked entities and the float parameters being animated. Checkboxes toggle curve visibility on the graph.
  • Timeline / curve graph (centre) — float tracks as bezier or linear curves, event lanes underneath, and a time ruler at the bottom (including the playable animation-length handle).
  • Inspector (right) — context panel for the current selection: a float keyframe, a string event, an animation-entity keyframe, or an Animation Entity track’s bindings.

The footer has Snap / Interval, Bezier curves, and Save.

Animated Parameters

Float animation is organised by entity. Each entity node in the tree can hold one or more parameter tracks (for example position.x, a float parameter name, and so on).

Track List Menu

Right-click in the track tree:

  • Add Entity… — always available. Pick a hierarchy target, then choose a parameter to animate. Supported types are FLOAT and TRANSFORM (transform components become separate float tracks).
  • Add Parameter… — on an entity node. Adds another animated parameter for that entity.
  • Add Keyframe at Time… — on a parameter node. Opens a dialog for time in seconds (useful when a track only has one keyframe and is hard to click on the graph).
  • Remove Entity… / Remove Parameter… — contextual to the right-clicked node.

Visibility

Use the checkbox glyphs on entity and parameter nodes to show or hide curves. Parent entities can show a mixed state when only some child tracks are visible. Clicking a node label frames that entity’s (or parameter’s) tracks in the graph.

Curves & Keyframes

Each visible float track is drawn as a coloured curve. When the cursor is near a curve, that line thickens so you can tell which track you are targeting.

Editing Keyframes

  • Click a keyframe diamond to select it. The inspector shows its value and a delete action.
  • Drag a keyframe to move time and/or value (subject to snap).
  • Shift+click on a curve (or right-click → Add Keyframe Here) to insert a keyframe on that track. The add-keyframe menu only appears when you are actually hovering a curve.
  • With Bezier curves enabled, selected keyframes show tangent handles. With it off, segments are linear (tangent data is still stored).
  • Right-click a keyframe for Delete Keyframe.

Event Tracks

Event tracks are horizontal lanes under the float graph. Right-click anywhere on the graph (plot, lanes, or empty area) to add one:

  • Add Event Track — string events (yellow lanes). These fire pins on the CAGEAnimation itself.
  • Add Animation Entity Track — entity-link events (blue lanes). Used with play-animation style nodes and MARKER / CHARACTER / CAMERA bindings.

Right-click a lane for Add Event Here or Delete Event Track. Drag the grip between the plot and the lanes to resize lane height. Shift+click a lane also adds an event at that time.

String Event Tracks

String event keyframes store a forward event name.

  • Shift+click or right-click → Add Event Here, then enter the event name.
  • Selecting a keyframe shows the name field and delete action in the inspector.
  • On the flowgraph, each unique string event becomes a pair of output pins (forward and reverse) on the CAGEAnimation node — the same pattern as TriggerSequence method pins.

Clicking a string event lane (not a keyframe) does not open a side panel — there are no entity bindings to edit.

Animation Entity Tracks

These tracks link the timeline to entities that play animations.

Track bindings — click the blue lane (with no keyframe selected) to show three slots:

  • MARKER — typically a position marker / model reference
  • CHARACTER — character or player variable
  • CAMERA — camera resource

These bound objects are linked to the play-animation entity on the event track, supplying context such as convergence positions and associated characters.

Each slot shows the assigned entity name (bold, coloured, and respecting Show entity IDs), with Jump and Assign… / Reassign…. Empty slots create a new connection for that binding type when you assign.

Keyframes on these tracks pick a play-animation entity:

  • CMD_PlayAnimation
  • CameraPlayAnimation
  • PlayEnvironmentAnimation

The linked animation entity plays when the time marker reaches that keyframe on the event timeline.

The inspector shows the linked entity name, Open in Inspector, Reassign…, and delete. Marker labels on the timeline use the entity display name.

Saving

Click Save to write the edited tracks, connections, and parameters back to the entity and close the editor. anim_length is updated from the timeline.

If you removed string events whose pins still have flowgraph connections (compiled links or live wires on the node), OpenCAGE warns before saving. Continuing will leave those links pointing at pins that no longer exist, so they will not fire.