The timeline
Play, pause, scrub, set the frame range, and see every keyframe at a glance.
The timeline runs along the bottom of the window. Its top strip is the transport, holding the play controls and frame readouts. Below it sits the dopesheet, where the keyframes live.
The transport
The transport bar holds the play controls on the left and a row of live readouts on the right. From left to right, the playback buttons are:
Skip to start jumps to the first frame of the range.
Step back moves one frame earlier.
Play / Pause starts and stops playback, showing a pause icon while running.
Step forward moves one frame later.
Skip to end jumps to the last frame of the range.
Next to them is the Frame field. Drag it to scrub through time, or click and type to jump to an exact frame. It stays clamped to the range. Dragging directly on the dopesheet ruler scrubs the same way, by grabbing the playhead and sliding it.
Range and looping
The Range fields set the first and last frame of the composition, Range: 0 to 240 for example. Playback loops between these by default, so a 0-to-240 range plays as a 4-second cycle at 60 fps. Right-clicking the dopesheet ruler offers Set Start Frame and Set End Frame at the frame under the pointer, which is quicker than typing.
Setting start and end to the same number draws an ∞ beside the fields, but nothing counts on: playback parks on that single frame and stays there. Use it to hold one frame, not to run open-ended.
For a loop with no visible join, the animation has to return to its starting state on the last frame.
Playback modes
The Realtime toggle decides what gives when a frame is heavy to compute:
Realtime on plays at the project's frames-per-second and drops frames if a cook cannot keep up. The clock stays honest and the picture may stutter.
Realtime off plays every frame in order, even if that runs slower than real time. Use it for recording, or for stepping through complex work where nothing should be missed.
The right-hand side of the bar shows live timing: Time (seconds elapsed), Frames (total frames drawn), Δ (milliseconds per frame), and FPS. If FPS dips well below the project rate, go to the The performance panel.
The dopesheet
Below the transport, the dopesheet shows animated parameters as rows, with a dot for every keyframe placed in time. It gives a bird's-eye view of where things move, where they hold, and how the timing lines up across parameters.
Keyframes can be selected here, dragged to retime, and box-selected as a group to move together. To shape the values between keyframes, easing, overshoot and bezier handles, turn on the Curves toggle to open the The curve editor. A Normalize checkbox appears alongside it, which rescales every curve to 0-1 so channels of different magnitudes can be compared.
Keyframes themselves are created by hovering a parameter and pressing K, from the ruler's right-click menu, or by recording live input. There is no keyframe item on a parameter's own right-click menu. See Keyframing and Recording live input.
Working inside subgraphs
Diving into a subgraph puts a breadcrumb on the right of the transport showing the path, like Project > Particles > Spawn. Click any earlier segment to pop back up a level. A small (fps) tag beside it shows the frame rate of the level you are in, which can differ from the parent.
Time can flow differently inside a subgraph. Time & playback covers how nested clocks work.
A project using a musical clock also gets a BPM field, a time signature, and a bar-and-beat readout in the transport. Those are covered in Clocks & tempo.