NextGen Timeline Manual
How to use NextGen Timeline 1.2: what each button does, where to find things, and the shortcuts that save time.
NextGen Timeline (NGT) is an animation timeline for Studio. It is a drop-in replacement for joan6694's Timeline: it reads and writes the same scene format and answers to the same plugin identity, so your old scenes open, and plugins that talk to Timeline (HS2PE, VNGE, VideoExport, FlowControl, NodesConstraints and the rest) keep working.
What changes is the editor. On top of everything the original could keyframe, you get a real curve editor, an easing editor, a library of your own curves, spline paths, retiming, key clean-up, track locks, a motion path and onion skin in the 3D view, a smoothness checker, animation baking, audio tracks, and undo for every edit.
The pictures in this manual follow the plugin's theme. Pick an accent or switch to the light theme here and every mockup updates, the same way the Theme panel changes the real window.
What you can animate
| Source | What becomes a track | Needs |
|---|---|---|
| Built in | Camera, time scale, any Studio handle (character, bone, IK target, item, light), clothing and juice states, eyes, mouth, hands, blush, wetness, item colours and patterns, light colour and strength, Studio animation and speed | Nothing |
| Audio | Sound clips on up to 8 channels, saved inside the scene | Nothing |
| Material Editor | Every float, colour and renderer switch on a character's or item's materials | MaterialEditor |
| Studio Chara Editor | Face, body, hair, clothes and accessory sliders and colours | HS2StudioCharaEditor |
| HS2PE / HSPE | Bone position, rotation and scale, blendshapes, dynamic bones, boob and butt physics, IK weights | HS2PE |
| BoneVisualizer | The last bone you edited, position, rotation and scale | HS2BoneVisualizer |
| Speech | Typed lines of dialogue, turned into mouth movement | Nothing (full mouth shapes need the Zolteq Expressive head) |
| Blink | Blinks placed exactly where you want them, with speed, hold, depth and double or triple blinks | Nothing |
| Other plugins | Anything a plugin registers with Timeline (PregnancyPlus, ShadowControl, NodesConstraints and so on) gets its own section in the track list | That plugin |
Install and open
- You need BepInEx 5 and the usual HS2 plugin stack (HS2API / KKAPI 1.43 or newer, ExtensibleSaveFormat).
- Drop
Timeline.dllintoBepInEx/plugins. If joan6694's Timeline is installed, remove it first: NGT takes its place and ships under the same file name. - Start Studio. Press Ctrl+T or click the Timeline button in Studio's toolbar on the left.
Updating from 1.0 is the same: replace the dll. Scenes and settings carry over. On first run NGT copies your old Timeline settings file across if it finds one.
Two copies of Timeline.dll in BepInEx/plugins will fight each other. Keep exactly one.
The Studio toolbar button
The button shows the NGT mark and changes colour with the scene: green while the window is open, yellow when the scene has timeline data, blinking yellow while it plays, white otherwise. Left click opens or closes the window. Right click starts playback.
The window
The window opens along the bottom of the screen. Drag it by the header, resize it from the bottom edge or the dotted corner grip, and drag the divider between the track list and the dope sheet to change the list width. The whole window scales from 50% to 250% (Settings, INTERFACE).
- 1Header. Title, version, the four tabs, and the Theme, Settings, Help and Close buttons.
- 2Transport bar. Play, stop, record, key jumps, time, length, loop mode, STEP, undo, redo, speed.
- 3Tool row. Pinned tools, the All tools list, and the FPS, Block and Div grid fields.
- 4Selector row. Shows who you are editing. Click to switch to any object in the scene.
- 5Filter bar. Search box and the Keys, Obj, Cur and All filters.
- 6Marker lane. Named flags and ranges along the time.
- 7Ruler. Click to scrub, Ctrl+drag to set a play range, wheel to zoom.
- 8Track list. Your tracks and folders on top, the add-track list below.
- 9Dope sheet. One row per track, one diamond per keyframe.
- 10Time row. A scrollbar for time. The whole row is grabbable.
- 11Status strip. Mode pills, selection info, and key hints.
Tabs
| Tab | What it shows |
|---|---|
| Animate | The dope sheet. This is the default. |
| Curves | The graph editor replaces the dope sheet. Track list, ruler and markers stay. Double-clicking a keyframe also takes you here. See Curves tab. |
| Ease | The easing editor for the selected segment takes over the whole content area. See Ease tab. |
| Markers | Opens the Markers panel on top of whatever you were looking at. Closing the panel returns the tab to where you were. |
Panels
Panels open on the right of the dope sheet (Settings, Theme, Keyframe groups, Onion Skin, Audio, Motion checkup, Modifiers, Markers) or on the left (Animation files, Materials, Chara Editor). Only one right-hand panel is open at a time; opening another closes the first. The keyframe inspector slides left to make room instead of hiding. Every panel has a close button in its top-right corner, and Esc closes them.
Buttons show a tooltip after a short rest (0.35 seconds by default, adjustable in Settings). The tooltip is the small chip with an accent underline.
What Escape does
Escape works through this list and stops at the first thing it can close: a live G/R/S transform or a bake, then an open menu, a rename box, the Clean up keys, Repeat or Adjust dialog, My curves, a retime session, every open panel, and finally the window itself.
Transport bar
| Control | Tooltip in the plugin | What it does |
|---|---|---|
| Play / Pause | Play (Shift+T) / Pause (Shift+T) | Starts or pauses playback. The button fills with the accent while playing. With a play range set, playback loops inside it. |
| Stop | Stop | Stops and returns the cursor to the start. |
| Record | Arm record (paused edits key) | Arms recording. While armed and paused, anything you move in Studio is keyed at the cursor. The button turns red and glows; click again to stop (tooltip Recording (click stops)). See Recording. |
| Previous / next key | Prev key (,) / Next key (.) | Jumps the cursor to the nearest keyframe before or after it, on the selected tracks or on all tracks. |
| Time field | (none) | The cursor time as mm:ss.fff. Type a time and press Enter to jump. Plain seconds work too, and a comma is accepted as the decimal point. |
| Length field | (none) | The timeline length. Type a new one to lengthen or shorten the timeline. |
| Loop chip | (none) | What happens at the end: Loop, Once or Ping-pong. Same setting as Settings, PLAYBACK. |
| STEP | Stepped preview (not saved) | Plays every track as held poses with no in-betweens, to judge blocking. Only a preview: it changes nothing and is not saved. |
| Undo / Redo | Undo (Ctrl+Alt+Z) / Redo (Ctrl+Alt+Y) | Timeline undo and redo. They never touch Studio's own scene undo. |
| Speed | Game speed (1 = normal) | Sets the game's time scale. 1 is normal speed, 0.5 is half. |
On a narrow window the Speed field on the right drops out first so the buttons never overlap.
Tool row
Under the transport bar sits a row of tool buttons. Seven tools are pinned there out of the box. The All tools button lists all nine, and the pin beside each one puts it on the row or takes it off. Clicking a row in the list runs that tool and closes the list; clicking a pin keeps the list open. The footer counts how many are on the row.
| Tool | Group | Tooltip | What it does |
|---|---|---|---|
| Files | Editing | Files | Opens the Animation files library. |
| Keyframe groups | Editing | Keyframe groups (G) | Opens the Keyframe groups panel. |
| Bake animation | Editing | Bake animation (select a character first) | Opens the Bake animation dialog for the character selected in Studio. |
| Play range | Editing | Range (right-click clears) | Turns the play range on or off. With no range yet, sets one from the selected keyframes. Right click clears it. See Play range. |
| Motion path | Checking | Motion path (M) | Draws the selected position tracks as paths in the 3D view. See Motion path. |
| Motion checkup | Checking | Motion checkup (find unsmooth and robotic motion) | Opens the Motion checkup. Not pinned by default. |
| Onion skin | Checking | Onion skin (O) | Opens the Onion Skin panel. The O key turns the ghosts themselves on and off. |
| Audio | Scene | Audio (upload a clip, trim, play on the timeline) | Opens the Audio panel. |
| Key frame all Hand FKs | Custom | Key frame all Hand FKs at the cursor (select a character first) | Keys all 30 finger bones of the selected character. See Recording and posing. Not pinned by default. |
A tool button is lit in the accent while its panel is open. When an unpinned tool is active, the All tools button tints instead, so you can still tell. If the window is too narrow for every pinned tool, the extra ones are skipped and the All tools tooltip says how many do not fit.
Grid fields
| Field | Tooltip | Meaning |
|---|---|---|
| FPS | Frame rate for nudge and beads | How far the arrow keys nudge a keyframe (one frame), and the bead spacing on the motion path. |
| Block | Grid block length (seconds) | Length of one grid block. The heavier grid lines fall on blocks. |
| Div | Snap divisions per block | How many beats a block holds. One beat = Block / Div. Shift snapping and Shift+arrow nudging use the beat. |
Compact dock
When you want the scene, not the editor, dock the timeline. It shrinks to a slim strip along the bottom of the screen that keeps what you need to play, scrub and key: the transport with record, the ruler with your markers, up to four lanes of keys, and the same key editor as the full window.
Turning it on
- Open Settings (the gear) and switch on Dock compact timeline under EDITING. It is off until you do.
- Drag the window by its header toward the bottom of the screen. A drop zone appears where the strip will land.
- When it reads Release to dock, let go. The window shrinks into the strip.
Dropping the window anywhere else is an ordinary move, so docking never happens unless you aim for it.
What the strip does
| Part | What it does |
|---|---|
| Play, previous key, next key | The same as on the transport bar. Shift+T, , and . still work. |
| Record | The same record button as the full window (Arm record (paused edits key)). It pulses red while armed. |
| Time field | Type a time and press Enter to jump there. |
| What it shows | The box under the transport names what the lanes show and how many tracks that is (no keys, 1 track, N tracks). Click it to pick something else. See below. |
| Key button | Key at cursor: the selected node (its tracks are made if it has none), else what the strip shows. Select an FK bone or IK target in the viewport and one click makes its tracks and keys it. One undo step. |
| Marker lane and ruler | The real ones, stretched to fit the whole timeline. Click or drag the ruler to scrub, click a marker to jump, and Ctrl+drag to set a play range, just like the full window. |
| Key lanes | One to four rows of keys. Click a key to select it and edit it right there. Press or drag empty lane space to scrub. |
| Either end | Drag to make the strip wider or narrower. The width is remembered. |
The strip stays visible while the timeline plays, and clicks on it never reach Studio underneath.
Picking what the strip shows
Out of the box the strip is on Auto: follow the selection. It shows, in this order:
- the nodes you selected in the viewport (FK bones, IK targets), for example
Auto: IK Hand L, even before they have tracks; - otherwise the tracks selected in the timeline;
- otherwise the selected object's tracks, or
Auto: everythingwith nothing selected.
Pick Everything, All of the selected object, or one of its keyed tracks to pin the strip to it. If what you picked goes away, the strip goes back to Auto.
LANES 1 to 4 splits the keys into rows, one track per lane with its name on the left. When there are more tracks than lanes, the last lane collects the rest as +N more. The choice is remembered.
Editing keys from the strip
Click a key in a lane: playback pauses, the cursor jumps to it, and the key editor opens above the strip with a notch pointing at the key. It is the same editor as in the full window, so you can type a time, change the value, ease it or delete it. Ctrl or Shift+click adds keys to the selection.
A lane can hold several tracks, so a click selects the key at that time on every track of the lane.
Close the editor with its round ✕, Esc, or a click on empty lane space. Double-click a key to open the full window instead.
Getting the full window back
- Pull the tab up. The window grows back to its old size under your cursor and stays in your hand, so you can drop it wherever you want.
- Double-click the tab to bring it back where it was.
- Drag the tab sideways to slide the strip along the bottom instead. A drag that starts sideways never undocks, and scrubbing the ruler or the key lane never undocks either, so it can't pop open by accident.
- Turning the setting off also brings the full window back.
Tracks
A track is one animated property: a bone's rotation, the camera's position, a material colour, a clothing state. The track list on the left has two halves. The top half is your scene's tracks and folders. The bottom half is the add-track list: every kind of track you can create for whatever is selected in Studio, grouped by the plugin that provides it.
Reading a row
- Checkbox: the track is enabled. Untick it to mute the track; its name greys out. Saved with the scene.
- Diamond: the track's colour (grey when it has none).
- Name: your own name if you renamed it, otherwise a readable bone or property name.
- Pin on the right: pinned to the top of its list.
- Wave icon: the track has an active modifier.
- Padlock at the far right: the track is locked. An open padlock appears on hover.
- Eye or speech bubble in place of the diamond: a Blink or Speech track.
- Folder rows are bold with a folder icon. Click to open or close.
- UPPERCASE headers are plugin sections of the add-track list, with an accent underline.
- Plus rows are track types you can add.
Out of the box the three Selected GuideObject types are on the pin list, so every Position, Rotation and Scale track of a Studio handle shows a pin and sits at the top. Unpin one and that whole type is unpinned.
Picking who you are editing
The selector row at the top of the list shows the object selected in Studio, with the character's card portrait or its initials. Click it to open the scene picker: search the scene and click any character, item, camera or light to select it in Studio. The viewport, the add-track list and everything else follow.
Search and filters
| Control | Tooltip | Shows |
|---|---|---|
| Search | (placeholder Search...) | Tracks and addable types whose name matches. See the syntax below. |
| Keys | only tracks with keyframes | Tracks that have at least one keyframe. |
| Obj | only the selected object's tracks | Only the selected object's tracks. Hides global tracks like the camera. |
| Cur | only tracks keyed near the cursor | Tracks with a keyframe within one beat of the cursor. |
| All | show every object's tracks and keyframes, not only the selected object's | Every object's tracks, grouped under one header per object (see below). Without it you see the selected object's tracks plus global ones (camera, time scale, audio). Remembered after a restart. |
Search syntax, the same as the original Timeline: | means OR, & or , means AND, * matches any run of characters and ? any single character. Case does not matter. Example: hand&L|finger finds names containing both "hand" and "L", or containing "finger".
While a search or filter is active, folders and sections that contain a match open automatically, and close again when you clear it (Settings, Auto-expand filtered results).
All, grouped by object
Switch on All and the list sorts itself into one header per object: a figure icon for characters, layers for items and everything else, and a last Scene header for tracks that belong to no object (camera, time scale, audio). Each header says how many tracks it holds.
- Only the selected object's header starts open, so a crowded scene stays tidy. Click a header to open or close it; Alt+click opens or closes every one.
- The header's lane in the dope sheet shows every key of that object as small diamonds. Click one to select the key at that time on all of the object's tracks.
- With the Obj filter on, the headers go away and you get the plain list.
Adding tracks
| Way | Result |
|---|---|
| Click a plus row in the add-track list | Creates the track for the selected object and selects it. With Keyframe new tracks on (default) it also keys the current value at the cursor. |
| Middle-click that row's lane in the dope sheet | Creates the track with a keyframe at the clicked time. Shift snaps. |
| Browse materials... | Opens the Materials picker (needs Material Editor). |
| Browse properties... | Opens the Chara Editor picker (needs Studio Chara Editor). |
| Record | With REC armed, moving any handle creates and keys its track. |
| K Pose key | Keys every enabled track of the selected object at once. |
| Audio panel | Placing a clip creates that channel's Audio track. |
The Selected GuideObject Pos / Rot / Scl types key whichever Studio handle is selected right now: a bone, an IK target or the object itself. Select the handle in the viewport first. Tracks made this way are named GO Position (Hips), GO Rotation (Hips) and so on. FK bones only rotate, so their track is named after the bone alone.
Built-in track types (the TIMELINE section)
| Offered for | Types |
|---|---|
| Always | Camera Origin Position, Camera Origin Rotation, Camera Zoom, Camera FOV, Camera Position, Camera Rotation, Time Scale |
| Any selected object | Selected GuideObject Pos, Selected GuideObject Rot, Selected GuideObject Scl, Enabled, Animation Speed |
| Characters | Speech, Blink, Animation, Animation Pattern, Animation Time, Top / Bottom / Bra / Panties / Gloves / Pantyhose / Legwear / Shoes State, Face / Chest / Stomach / Back / Butt Juice State, Skin Wet, Skin Gloss, Blush, Nipples (female), Neck Direction, Eyes, Eyes Open, Mouth, Mouth Open, Left Hand, Right Hand |
| Items | Animation Time, Color 1 to 3, Pattern Color 1 to 3, Pattern UV 1 to 3, Pattern Rot 1 to 3, Pattern Tiling 1 to 3 (only the slots the item uses) |
| Lights | Color, On/Off, Shadows, Strength, Range (point and spot), Spot Angle (spot) |
Materials picker
Lists every mesh and material on the selected character or item. Drag a slider to preview the change live; nothing is kept until you press the diamond key button, which creates the Material Editor track and keys the value at the cursor.
- L+R appears on left and right mesh pairs. On, every edit and key goes to both sides.
- The eye button flashes that mesh in the viewport so you know what you are editing.
- Key all keys every float and colour on a material in one undo step.
- Rescan re-reads the object after an outfit change.
Chara Editor picker
Search or browse the character's maker values by category (Body, Face, Hair, Clothes, Acc). Drag a slider to try the value on the model. The key button's tooltip is Create a track + keyframe at the cursor, or Key the current value at the cursor when the track already exists (a small accent dot marks those). The undo arrow puts a slider back to where it was before you dragged it.
Everything you changed but did not key collects in the tray: Key all at cursor keys them in one undo step, Reset all puts them back.
Loading a character's editor properties rebuilds its clothing textures once, the same as opening Studio Chara Editor on it, so NGT asks first with a Load properties button when you switch characters.
Favorites
Hover any row in the add-track list and a star appears at its right end. Click it (Add to Favorites) and that track type joins a FAVORITES group at the top of the list, so the types you use most are always one click away. Starred rows keep a gold star; click it again (Remove from Favorites) to take the type back out.
Favorites is saved on your PC, not in the scene, and works for every character and object. It is a normal custom category, so you can also manage it from the right-click Add to category menu. The star always finds the group named Favorites: renaming or deleting it means the next star starts a fresh one.
Key all selected
Select several nodes (FK bones, IK targets and other handles) or several objects in the Workspace, and a banner appears above the add-track list, for example 15 nodes selected: a click keys every one. Each add-track row that would apply to all of them shows a count badge such as x15.
Click a row now and NGT makes that track for every selected node or object, keys each one at the cursor, and files them into one folder, for example Yuki Rotation (15). It is all one undo step. Click the banner to switch it to the active one only for normal single adds. The banner resets to on each session. HS2PE bone tracks are not included; they follow HS2PE's own selected bone.
Organising tracks
| To | Do this |
|---|---|
| Rename | Right-click, Rename, or press F2. Enter keeps it, Esc cancels. An empty name returns to the automatic one. |
| Colour | Right-click, Color: White, Red, Orange, Yellow, Green, Cyan, Blue, Purple, Pink. Tints the row and its keyframes. |
| Make a folder | Right-click, New folder from this track (or from N tracks). Folders are saved in the scene. |
| Move into a folder | Right-click, Parent to, pick a folder, or (none) for the top level. |
| Reorder | Right-click, Move up / Move down. |
| Pin to the top | Right-click, Pin to top. |
| Mute | Untick the checkbox, or Disable in the menu. |
| Listen to one track alone | Solo (audition alone). Only soloed tracks play; the others are veiled. Solo is not saved. |
| Reorder plugin sections | Drag an UPPERCASE header up or down. Reset group order in its menu undoes it. |
| Hide a plugin section | Right-click the header, Hide this group. Settings lists hidden sections with a Show button. |
| Keep favourite types together | Right-click any plus row, Add to category, New category. Categories sit above the plugin sections with a gold marker, and are kept on your PC, not in the scene. |
Locking tracks
Lock a track when it is finished and you don't want to bump it while working around it. A locked track's keys cannot be selected, so they cannot be moved, deleted or re-eased, and new keys are refused, whether from T, K, record or a bake. It still plays as normal.
- Click the padlock at the right end of a row. Hover a row to see the open padlock. On a folder or object header it locks or unlocks everything inside.
- Ctrl+L locks or unlocks the selected tracks, or the tracks of the selected keys.
- A locked row has an amber bar and a solid amber padlock. Its lane in the dope sheet is hatched, and its keys are hollow amber diamonds.
- Locking is saved with the scene and is not an undo step. Clean up keys skips locked tracks.
Selecting tracks
Click selects one track (and, with Auto-select linked handle on, its handle in Studio). Ctrl+click adds or removes. Shift+click selects a range. Alt+click selects the track's handle in Studio without changing the track selection. Ctrl+middle-click deletes a track (or the whole selection). Clicking empty space clears the selection.
Track menu
Menus act on the whole selection when you right-click a selected track, and on just that track otherwise. Section headings group the items. Items that only apply sometimes:
- Split into X/Y/Z tracks on a keyed GO Position, Rotation or Scale track; Merge X/Y/Z into one track on the split tracks. See Split and merge.
- Bake animation (this character)... on a character's track.
- Clear all solo while anything is soloed.
Folder rows have their own menu: rename, colour every track inside, select its tracks or keyframes, key them at the cursor, move, enable or disable, and delete (which deletes the tracks inside).
Dope sheet
Each row lines up with its track in the list. Every keyframe is a diamond. The accent line is the cursor (playhead); the darker area on the right is past the end of the timeline.
How keyframes look
| You see | It means |
|---|---|
| Grey diamond | A keyframe. |
| White core with an accent rim | Selected. |
| Faded diamond | The track is muted. |
| Coloured diamond | Belongs to a keyframe group. |
| Thin accent outline around it | A spline keyframe. A curvy accent line joins spline keys; it gets thicker and brighter with higher tension. |
| Small accent triangle to the right | The segment leaving this key is eased. Brighter means stronger. |
| Small step glyph to the right | Hold: the value stays, then jumps at the next key. |
| Small hollow diamond to the right | A hand-drawn easing curve. |
| Flashing cyan and yellow | Just pasted or repeated. |
| Amber ring | Flagged by the Motion checkup. |
| Small dim red diamond | Will be thinned out by the Clean up keys dialog you have open. |
| Small orange diamond | A repeated key that Clean up keys will remove. |
| Hollow amber diamond on a hatched lane | The track is locked. |
| Speech bubble with a bar | A Speech line, as long as it takes to say. |
| Eye with a short bar | A blink, as long as the blink lasts. |
| Waveform band | An audio keyframe, drawn across the time its clip plays. |
Hovering a spline key shows a chip with its tension, for example tension 1.0 (default) or tension 3.4 - overshoot. Hovering any key puts its time and value in the status strip: T 00:02.700 V (0.0, 0.9, -0.2).
Mouse
| Do | Where | Result |
|---|---|---|
| Click | Key | Select only that key. |
| Ctrl+click | Key | Add it to or remove it from the selection. |
| Shift+click | Key | Select every key on that track from the last selected one to this one. |
| Double-click | Key | Open the Curves tab framed on the selection. |
| Drag | Key | Move the whole selection in time. Hold Shift to snap to beats, markers and other keys. |
| Alt+drag | Key | Duplicate the selection and move the copies. |
| Drag | Empty grid | Box select. Ctrl adds to the selection. Alt takes the whole time span on every row. |
| Click | Empty grid | Clear the selection. |
| Middle-click | Track lane | Add a keyframe with the current value. Shift snaps. |
| Alt+middle-click | Anywhere | Add a keyframe on every selected track at that time. |
| Ctrl+middle-click | Key | Delete it. Add Shift to delete the whole selection too. |
| Right-click | Key | The keyframe menu. |
| Wheel | Sheet | Scroll rows. |
| Alt+wheel | Sheet | Zoom time around the mouse. |
| Ctrl or Shift+wheel | Sheet | Pan left and right. |
| Wheel | Ruler | Zoom time. |
| Click or drag | Ruler | Pause and scrub. Shift snaps the cursor to beats and markers. |
| Drag | Time row | Scroll through time. |
A move that would push any key below zero or onto another key of the same track is refused at that point, so nothing ever lands on top of something else.
Keyboard
| Key | Result |
|---|---|
| Delete | Delete the selected keyframes. |
| ← → | Nudge the selection by one frame (FPS field). With Shift, by one beat. |
| Home End | Cursor to the start or end (of the play range, if one is on). Pointer must be over the window. |
| F | Frame the selection in time. With nothing selected, frames everything. |
| A | Frame the whole timeline. Pointer must be over the window. |
| T | Key every selected track at the cursor. |
| K | Pose key: key every enabled track of the selected object at the cursor, as one undo step. |
| Ctrl+C / X / V | Copy, cut, paste. Paste lands at the cursor. |
| E | Cycle the selected keys through Linear, Ease in, Ease out, Smooth, Hold. |
| Shift+E | Easing menu at the mouse. |
| , . | Jump to the previous or next keyframe. |
When paste finds a key already at a target time, it follows Settings, Paste on time conflict: Overwrite (default), Skip that key, or Abort the whole paste.
Easing between two keys, by hand
Hover the empty space between two keys of a track (the gap must be at least 48 pixels wide). Drag the left arrow toward the middle to slow the start of the move, the right arrow to slow the end. Hold Shift to set both sides at once. If the left key is part of a larger selection, every selected key gets the same easing. Each drag is one undo step.
Retime: stretch or squeeze
Select two or more keys, right-click one and choose Retime (stretch / squeeze). Two bars appear just outside the selection. Drag one to scale every selected key's time around the other edge; values do not change. Shift snaps the edge. Drag as often as you like.
- Apply (Enter) keeps the new timing. Keys after the selection stay where they are.
- Apply + follow also shifts every key after the selection by the same amount, so the gap closes exactly.
- Cancel (Esc) puts every key back.
The whole session is one undo step. Clicking anywhere else in the sheet, switching tabs or hiding the window applies it.
Speech
Type a line and the character's mouth says it. NGT turns the words into mouth shapes with natural timing, so a scene can have dialogue without keying the mouth by hand.
Adding a line
- Select a character. Speech is the first row under TIMELINE in the add-track list; it only appears for characters.
- Click it. The Speech track is added with one line at the cursor that reads Type what she says.
- Click that key on the dope sheet and type the real line in What she says. Enter or clicking away keeps it, Esc cancels.
To add more lines, right-click the Speech track: the menu starts with a SPEECH section.
| Control | What it does |
|---|---|
| What she says | The line itself. Punctuation adds pauses: a short one at a comma, a longer one at a full stop, question mark or exclamation mark. |
| Speed | 0.4x to 2.5x, default 1.0x. Faster lines are shorter on the timeline. |
| Mouth size | 0% to 150%, default 100%. How wide the mouth opens. |
| Info line | How many words and how long the line lasts, for example 5 words, 1.9 s., plus any words it had to guess. |
| Add a line at cursor | A new line at the playback cursor. |
| Add a line after the last one | A new line 0.3 s after the character's last line ends. |
A new line keeps the speed and mouth size of the last line you edited. Editing with several keys selected on the Speech track changes all of them.
On the dope sheet
Each key is a speech bubble. When there is room every word sits over its own stretch of the bar; zoomed out, the whole line is written once along the bar instead. Click anywhere on a bar to select its line, and drag the key to move it like any other keyframe.
Good to know
- The mouth is laid over whatever face is showing, from the game or HS2PE, and it works while scrubbing a paused timeline too. It fades in and out at each line's ends, and M, B and P always close the lips.
- English only. Words it doesn't know are guessed from their spelling and listed after Guessed:. Numbers are not spoken: write them as words.
- The full set of mouth shapes needs the Zolteq Expressive head. On stock heads the vowels and closed M, B and P work, but rounding for W, OO and SH and the tongue on L and TH do not.
- Muting or soloing the Speech track silences the mouth like any other track.
Blink
Put blinks exactly where the scene needs them: on a look, before a line, as a slow sleepy close. Each key is one blink, or two or three in a row, and it starts at the key's time.
- Select a character. Blink sits under TIMELINE in the add-track list, right after Speech; it only appears for characters, one per character.
- Click it. With Keyframe new tracks on, the first blink lands at the cursor.
- For more, right-click the Blink track and choose Add a blink at cursor, or press T with the track selected.
- Click a blink to shape it in the value inspector.
A new blink copies the last one you edited.
| Slider | Range | What it does |
|---|---|---|
| Speed | 0.25x to 3x, default 1.0x | How fast the lids move. At 1x a blink closes in 0.08 s, stays shut 0.03 s and opens in 0.17 s. |
| Hold shut | 0 to 2 s | Extra time with the eyes closed. |
| How far | 0% to 100% | How far the lids close. Below 100% it is a flutter, not a full blink. |
| Blinks in a row | 1 to 3 | A double or triple blink, 0.12 s apart at 1x. |
The line under the sliders gives the blink's length (a default blink is 0.28 s). With several blinks selected on the track, every slider changes all of them at once.
Good to know
- Blink keys switch off the game's random blinking for that character; between your blinks the eyes stay open. Mute the track to get random blinking back.
- A blink closes from wherever the eyes are and comes back to it, so a half-open look blinks fully shut and returns to half open.
- On the dope sheet each blink is an eye with a short bar as long as the blink. Click anywhere on the bar to select it.
Inspectors
Select a keyframe and an inspector appears in the top-right corner of the sheet. The plain keyframe inspector edits time and value. For Material Editor, bone size, BoneVisualizer, blendshape, Chara Editor and audio keys, a richer value inspector with sliders takes its place.
Keyframe inspector
- Drag it by its title strip; double-click the title to put it back in the corner.
- Time: type a new time. Refused if another key already sits there.
- Value by type: one number; On/Off for switches; minus and plus for whole numbers; X Y Z for positions; rotations as X Y Z in degrees; R G B A for colours.
- Several keys at once: select keys that hold the same kind of value (all numbers, all positions, all rotations) and the same editor appears for all of them. A field shows the number when the keys agree and
mixedwhen they differ. Type a value and it goes into every selected key as one undo step, and only that field changes, so you can set X on nine keys without touching their Y and Z. Switches that differ read Mixed; minus and plus step each key from its own value. Time stays multiple, and audio keys stay read-only. - Tween (when the key sits between two others): drag the knob left or right to push the key's value toward its previous or next neighbour. It springs back to the middle when you let go. Works on every selected in-between key at once.
| Button | Tooltip |
|---|---|
| Arrow to line | Move the selected keyframes to the playhead |
| Two-way arrow | Slide the whole animation so this keyframe lands on the playhead |
| Crosshair | Replace the stored value with what the scene looks like now |
| Curve | My curves: give these keys a curve you saved, or save this one |
| Bin (red) | Delete this keyframe |
Value inspector
Edits apply to every selected key on the same track, are undoable, and update the paused scene as you drag. What it shows depends on the track:
| Track | Editor |
|---|---|
| Material Editor | A slider for floats; a swatch plus R G B A for colours (HDR above 1 allowed); On/Off for renderer switches; one button per shadow mode. |
| Bone size (HS2PE) | Uniform size with Reset 1x and an All slider, then Per axis X, Y, Z. |
| BoneVisualizer | Position, Rotation (deg) and Scale, three sliders each. |
| Blendshape group | A search box and a Non-zero / All toggle, one slider per shape with a reset arrow, and Reset all to zero. |
| Chara Editor number | A big readout with the change from the previous key, the previous and next keys as boxes you can click to copy, use live value, ½ between neighbours, and ease chips (Linear, Smooth, Ease in, Ease out, Hold, More). |
| Chara Editor number, several keys | A batch table: min, avg and max, a card per key, and Set all, minus and plus steps, and Smooth (moves inner keys to the average of their neighbours). |
| Chara Editor colour | A colour card with R G B A and the neighbours' colours to copy from. |
| Blink | Speed, Hold shut, How far, Blinks in a row. See Blink. |
| Audio | Per-keyframe Volume, Start and End (each can follow the clip or be set for this key), Fade in, Fade out, Preview this keyframe, Use the clip's settings. |
Curves tab
The Curves tab draws the selected tracks as lines: value up the side, time along the bottom. It shows exactly what playback does, so this is where you see and shape how a move speeds up and slows down. Select tracks in the list (up to 8), or select keyframes and their tracks are shown.
Toolbar
The toolbar sits in the strip above the marker lane, level with the object selector, and only on the Curves tab.
| Control | What it does |
|---|---|
| AXES: X Y Z W | Show or hide each channel (R G B A for colours). Lit pills are visible. |
| Fit | Frame the value range on the selected keys, or everything if none is selected. Same as F. |
| Ease | Switch to the Ease tab for the selected segment. |
| Save curve, My curves | Save the first selected key's curve, or open the library. See My curves. |
| HANDLES: Auto, Aligned, Broken | Set how the selected keys' handles behave. See Handle modes below. On a narrow window the chips shrink to just their shape. |
| Tension | Shown when a spline key is selected. 0 to 4 with a notch at 2: left of the notch rounds, right of it overshoots. |
| Tension, Continuity, Bias | Shown instead when a TCB spline key is selected. Each runs from -1 to 1. |
With more than one track plotted, a legend on the right names each line, for example Hips pos.X. A single-number track is drawn in the accent colour.
Handle modes
| Mode | Handle tip | What it does |
|---|---|---|
| Auto | Disc | Smooth through each selected key, never past a keyed value, and kept that way when you move keys. |
| Aligned | Solid diamond | You set the angle, and both sides of the key stay in one line. Dragging an Auto handle makes it Aligned. |
| Broken | Hollow diamond | Each side of the key is set on its own, for a sharp change of direction. Alt+drag a handle to break it. |
- Set a mode with the chips in the toolbar, the HANDLES row in the right-click Set interpolation grid, or Auto handles in the Shift+E menu. Each change is one undo step.
- Dragging an Auto handle turns the key Aligned. Alt+drag breaks it. Shift+drag flattens the handle.
- While you drag, a hint at the bottom of the graph says which way the handle behaves, for example Aligned: both sides turn together. Hold Alt to break them.
- Keys are Broken unless you choose otherwise, so older scenes behave exactly as before. Applying a preset or cycling with E also makes a key Broken.
- Spline keys have no handles; the spline sets their shape.
- Settings, New keyframe interpolation, Auto handles makes new keys start as Auto.
Working with curves
| Do | Result |
|---|---|
| Click a key | Select it. Ctrl+click adds or removes. |
| Drag a key | Moves time for every selected key and the value of the channel you grabbed. Shift snaps the time. Rotation values cannot be dragged here, only their timing and tangents. |
| Drag empty space | Box select. Ctrl adds. |
| Drag a handle | Sets the tangent: how fast the curve leaves or arrives at the key. Shift flattens it. |
| Middle-click | Adds a key on the nearest line without changing its shape. Shift snaps. |
| Ctrl+middle-click a key | Deletes it. |
| Right-click a key | The keyframe menu. |
| Wheel | Zoom the value axis around the mouse. |
| Alt+wheel | Zoom time. |
| Ctrl or Shift+wheel | Pan time. |
| F / A | Frame the value axis on the selection / on everything. Time zoom is left alone. |
Handles. Selected keys show a handle on each side, 34 pixels long along the true slope. A handle is hidden where the segment is a spline or a Hold. On an X/Y/Z track that is not split, the three channels share one easing curve, so dragging one channel's handle reshapes its siblings too. Split the channels first (keyframe menu, Split channel easing) to shape each one alone.
Faint handles. If a channel does not change across a segment, easing cannot bend it, so its handle is drawn faint. While you drag it a hint explains, for example X does not change here. This is shaping Y and Z.
Stacked keys. When several channels have a key at the same time and value, they sit on one pixel. Move the mouse near and they fan out in an arc, X on the left, so you can pick the one you want.
Speed strip. Turn on Show speed in the curve editor (in the Motion checkup's Fixing section) to draw each track's speed along the bottom. A step in that line is a keyframe where the motion hitches.
Ease tab
The Ease tab edits the shape of one segment: from the first selected keyframe to the next key on its track. The horizontal axis is time through the segment, the vertical axis is progress from the first value to the second. A straight diagonal would be linear. The whole window area is used, so the curve is big enough to draw.
| Part | What it does |
|---|---|
| Title line | Track name and the segment length, for example GO Position (Hips) 1.2s segment. |
| Shared / Split | One curve for every channel, or one per channel. When split, the X Y Z chips pick which channel you are editing. Disabled on a spline key (spline: one path, one timing). Single-number tracks show Single value - one curve. |
| Plot | Double-click to add a point. Drag a point to reshape. Right-click a point to remove it. The two end points stay fixed. |
| PRESETS | Linear, Ease in, Ease out, Smooth, Hold. The one that matches the current curve is outlined. |
| DYNAMIC | Sine, Expo, Circle, Back, Elastic, Bounce in the chosen direction (In, Out, In-out). Back, Elastic and Bounce overshoot on purpose; the plot flattens the overshoot at the edge but the preview dot shows it. |
| Preview lane | A dot runs through the ease every 1.7 seconds, whether or not the timeline plays. |
Picking a preset in the Ease tab only changes the curve, so a spline key stays a spline and a split stays split. The right-click Set interpolation grid and Shift+E menu reset both. On a spline key, the ease shapes the timing along the spline path.
Interpolation at a glance
Interpolation belongs to the segment, and the left key of a segment owns it. So one track can snap, glide and settle without being split up. If a key is a spline, the spline decides the path; otherwise a channel split decides; otherwise the shared curve does.
| Where you set it | Turns off spline | Removes channel split |
|---|---|---|
| Set interpolation grid, Shift+E menu | Yes | Yes |
| E cycle | No | Yes |
| Handle modes (toolbar, grid, Shift+E) | (spline keys have no handles) | No, only changes how handles behave |
| Handle drag in Curves | (hidden on splines) | No, edits that channel |
| Ease tab presets and points | No | No, edits the chosen channel |
Settings, New keyframe interpolation decides how brand-new keys start: Inherit copies the previous key's curve (and its Auto handles), Linear and Smooth always start with that preset, and Auto handles starts with Auto handles.
My curves
Shaped an ease you like? Save it and give it to any key later, in any scene. Saved curves live with the plugin, not in the scene, and each key gets its own copy, so editing or deleting a saved curve never changes keys that already use it.
Saving a curve
Select the key whose curve you want, then use any of these:
- The Save tile with the big plus at the end of MY CURVES in Set interpolation.
- Save curve on the Curves toolbar.
- The curve button in the keyframe inspector, then Save this key's curve….
Give it a name and, if you like, a folder (click an existing folder chip to reuse it) and a star. Enter saves. When a key has its own curve per axis, a Shape row lets you keep Each axis or save one Shared ease.
Saving under a name that already exists replaces that curve.
Using a curve
- Set interpolation: the MY CURVES row shows your first five curves, starred ones first, then the most recently used. Hover a tile to try it on the keys; click to keep it.
- Keyframe inspector: the curve button lists up to eight saved curves.
- The library: All… in Set interpolation, My curves on the Curves toolbar, or All my curves… in the inspector menu.
Applying a curve is one undo step. The keys get Broken handles (the saved curve owns them) and lose spline mode, like any preset. A per-axis curve keeps its axes when the key has the same number of them.
The library
| Part | What it does |
|---|---|
| Save a key's curve | Saves the first selected key's curve. |
| Search and chips | Search matches names and folders. All, ★ (starred) and one chip per folder filter the grid. |
| Tiles | With keys selected, hover to preview and click to apply; the panel stays open so you can try more. XYZ marks a curve saved per axis. Right-click a tile (or click it with no keys selected) to edit it. |
| Edit row | Name and Folder (press Enter to keep), Favourite, Update from key to replace the shape with the selected key's, and Delete, which asks Really delete first. |
| Import… / Export… | Share curves as an .ngtcurves file. Export saves the curves currently shown, so filter first to export one folder. Imported names that clash get a number added. |
The library is kept in BepInEx/config/NextGenTimeline/curves.ngtcurves. Back it up with your config if you have built a collection.
Spline paths
Linear interpolation moves in straight lines between position keys. A spline turns the same keys into a smooth route through space, which is how real limbs and cameras move. Right-click position keys and open Spline path. Hover a tile to compare it with the current type in the COMPARE lane; click to apply.
| Type | In the plugin's words |
|---|---|
| Off | Straight lines between keys. Robotic, but perfectly predictable. |
| Catmull-Rom | The default. Passes through every key and stays composed even when key spacing is uneven. |
| C2 natural | The whole path relaxes like a bent ruler. The most fluid, but a hard key can make it swing wide. |
| B-spline | Smoothest possible, but it trades accuracy: the path pulls inside the keys and only comes near them. |
| Hermite | Catmull-Rom's older uniform flavor: the same on evenly spaced keys, swings wider when spacing is uneven. |
| Bezier auto | The exact same path as Hermite. The difference: you can grab its handles on the motion path afterwards. |
| Free handles | Nothing automatic. Every key gets two handles you place yourself on the motion path. |
| SQUAD (rotation) | Smooth spherical blending between rotation keys, without the wobble plain interpolation can get. |
- Path types apply to position keys (X Y Z). SQUAD is the only tile shown for rotation keys.
- Free handles: after choosing it, press M for the motion path and drag the handles in the 3D view. Hold Alt to break a corner.
- B-spline needs at least two B-spline keys in a row to round a corner; a single one on its own relaxes to a straight line.
- C2 natural is computed over the whole track, so moving one key can reshape the entire path.
- A new key added after a spline key joins the path with the same type, tension and handles, so adding keys never breaks a spline in two.
Adjustable feel (TCB)
| Preset | Feel | T / C / B |
|---|---|---|
| Neutral | The TCB starting point, close to Catmull-Rom. Adjust each key's feel from here. | 0 / 0 / 0 |
| Snappy | A tighter path that settles into each key, quicker across the middle. | 0.6 / 0 / 0 |
| Soft | Wider, rounder arcs that flow through the keys without slowing down. | -0.4 / 0 / 0 |
| Overshoot | Swings past each key before coming back, like follow-through. | -0.3 / 0.6 / 0 |
| Anticipate | Pulls back slightly before each move. | 0 / 0 / -0.5 |
| Sharp corner | Straight lines with a hard corner at every key. | 0 / -1 / 0 |
Fine-tune T, C and B per key with the three sliders in the Curves header.
Tension
Tension runs from 0 to 4 and has two zones. 0 to 2, Round: rounder arcs that never swing past a key. 2 to 4, Overshoot: the path swings past each key and settles, which adds anticipation and follow-through. The default is 1.0 (Settings, SPLINE); each key can override it, and Reset to global goes back to the default. TCB keys use their own -1 to 1 scale instead.
On the dope sheet, spline connectors get brighter and thicker with tension, and hovering a spline key shows its value.
New position keys can start as splines automatically: Settings, Default position spline (Off, Smooth, Catmull-Rom, Round corners, Bezier auto, Free handles, TCB). Smooth new rotation keys does the same with SQUAD for rotations.
Markers and play range
Markers
Markers are named orange flags in the lane above the ruler, so a long animation stops being a wall of diamonds. A marker is a point, or a range when you give it a length. They are saved with the scene and every change can be undone.
- Add: double-click the empty lane (Shift snaps), or Add marker at cursor in the Markers tab.
- Jump: click a flag.
- Move: drag the flag. Shift snaps.
- Make a range: drag the flag's right end.
- Rename: double-click the flag.
- Right-click: Jump to, Rename, Extend to cursor (points), Play only this range and Clear range (ranges), Delete.
A thin orange guide runs from each flag down through the sheet; Shift snapping catches marker starts and ends.
Play range
A play range loops playback over one slice of the timeline, so you can polish a section without watching the whole thing. Outside it the ruler and sheet darken, and accent brackets mark the edges.
- Ctrl+drag on the ruler to set it. Ctrl+drag an edge to move it; hold Ctrl to light the edges up.
- The Play range tool turns it on or off, or sets it from the selected keys. Right-click the tool to clear it.
- Keyframe menu and range markers: Play only this range.
While it is on, Home and End jump to its edges, the status strip adds solo 2.0-4.5s, bakes land at its start, and VideoExport's Timeline mode respects it. It is a working aid: it is not saved and not undoable.
Editing tools
These three dialogs dim the window and sit over the dope sheet. Clean up or Apply makes the change as one undo step; Cancel or Esc closes without changing anything. Each one previews on the sheet while it is open.
Clean up keys
Gets rid of keys you don't need: the repeats that change nothing, and the extra keys in a dense recording or bake. Open it from the track menu (Clean up keys...) or the Clean up N recorded keys? chip after recording.
Reach: Selected keys (3 or more), the menu's or the selected tracks (These tracks), or Whole scene.
Mode:
- Repeated (the default) removes keys in the middle of a hold, where the keys before and after hold the same value. The motion stays exactly the same. Match loosens what counts as the same, from exact up.
- Thin out keeps only the keys that shape the motion. Strength (default 35%) is how much error is allowed, relative to each track's own range; for rotations up to 45 degrees at 100%. Smoothing (default off) leans each remaining inner key toward the middle of its neighbours.
- Both does repeats first, then thins. The record chip opens on Both.
The bar shows what stays (accent), what goes as repeated (orange) and what gets thinned (red), with the hardest-hit tracks listed underneath as before → after. On the sheet, repeated keys show as small orange diamonds and thinned ones as small dim red diamonds.
Always kept: first and last keys, keys in a keyframe group, spline path points, and (when thinning) Hold and hand-drawn keys. Speech, blink and audio keys and locked tracks are left alone.
Repeat selected keyframes
Keyframe menu, Repeat at intervals.... Copies the selected keys forward: copy 1 at +Interval, copy 2 at +2 x Interval, and so on. Interval starts as the length of your selection. Count goes from 1 to 20, and the last stop, to end, repeats to the end of the timeline.
While open, the copies show as yellow diamonds, or red-orange where a key already exists. Those collisions follow Paste on time conflict. Copies keep curves, spline settings and group membership, and flash when placed.
Adjust selected keyframes
Keyframe menu, Adjust / randomize.... Batch maths on many keys at once.
- Set, Add (default), Subtract: type one number for every channel, or several separated by commas (
0,1.5,0). If you give fewer numbers than channels, the last one repeats. Use a dot for decimals. - Rotations use euler degrees; Add rotates by that amount, Subtract rotates back.
- Randomize: each key's value moves by a random amount up to Value +-, and its time by up to Time +- seconds. Great for breaking up perfect loops.
Colours only change alpha if you give a fourth number. Audio keys are skipped.
Split into X/Y/Z tracks, and merge back
On a keyed GO Position, Rotation or Scale track, the track menu offers Split into X/Y/Z tracks. You get three number tracks, GO Pos X (Hips) and so on, each with a key at every original time, so each axis can be timed and curved on its own. Rotations become continuous degrees that never spin the long way round.
Merge X/Y/Z into one track on any of the axis tracks rebuilds the single track. Where the axes had different eases at a key, that key becomes linear. Spline segments become plain eased segments when you split.
Split and merge refuse (quietly, with a note in the log) when the track has modifiers, when the axis tracks already exist with keys, or when the axis tracks have mixed mute states. Remove the obstacle and try again.
Keyframe groups and modifiers
Keyframe groups
A named, coloured set of keyframes across any tracks: a hand slap, a head turn, a beat. Group members are drawn in the group's colour on the sheet, so they are easy to find again. Open with the tool or G (with the pointer over the window).
- New group from selection makes
Group 1,Group 2... with the next colour. - Click the swatch to change colour, double-click the name to rename.
- Select picks the group's keys. Add and Remove use the current selection. Del deletes the group, not the keys.
- Clear all groups asks Confirm clear all? first.
Groups are saved with the scene. Duplicating or pasting keys keeps their group. Clean up keys and the Motion checkup never touch grouped keys.
Track modifiers
Modifiers change how a track plays without touching its keys. Open them from the track menu, Modifiers.... Each section has a switch; a track with any modifier on shows a wave icon in the list. They are saved with the scene and undoable.
- Noise (shake, idle life): Amount (0 to 5; degrees for rotations), Speed (0.1 to 30 Hz), Seed, Detail (1 is a smooth wander, 3 is organic). Same at the start and the end (on by default) makes the noise loop seamlessly over the timeline; turn it off for shake that never repeats.
- Loop (past the last key): time before the first key and after the last folds back in. Repeat, Ping-pong, or Extend, which keeps adding the first-to-last change so a walk keeps walking and a spin keeps spinning.
- Stepped (blocking look): plays the track at 1 to 30 held frames per second (default 6), like stop motion. Unlike the transport's STEP, this one is saved.
- Limits (clamp): keeps every value between Min and Max (defaults -1 and 1).
Recording and posing
Record live
Click the record button on the transport bar. While it is armed and playback is paused, anything you change is keyed at the cursor: moving a character, a bone, an IK target, an item, a light or the camera with Studio's gizmo or with G/R/S; editing a bone in BoneVisualizer; moving a slider in Studio Chara Editor. The pose that existed when you armed is not recorded, and neither is anything that moves because the timeline moved it.
The status strip shows a blinking REC pill; click it or the record button to stop. If the take left 15 or more keys, the pill turns into Clean up N recorded keys?. Click it to clean up the take, or the small x to dismiss.
G, R and S in the viewport
With a handle selected and the pointer in the 3D view (not over NGT), press G to grab, R to rotate or S to scale, the way Blender does it. Timeline must be paused.
- X, Y or Z locks to a world axis; press it again to unlock.
- Hold Shift for precision (one fifth the speed).
- Left click or Enter confirms. Right click or Esc puts everything back.
- Press another of G, R, S to switch mode.
G/R/S moves handles the same way the gizmo does; it does not key on its own. Arm record, or press K afterwards. A whole character's root handle is never moved this way; use Studio's gizmo for that. Turn the feature off in the config file (Picker / Blender transform keys) if another plugin uses those keys.
Pose key and hand keys
K keys every enabled track of the selected object at the cursor in one undo step. The fast block-out loop: pose, K, move the cursor, pose, K.
Key frame all Hand FKs (All tools, CUSTOM) keys all 30 finger bones of the selected character at the cursor, turns hand FK on if it was off, and files the tracks into two folders, <Name> Left Hand FKs and <Name> Right Hand FKs. Running it again reuses the folders.
Bake animation
Turns any animation Studio can play into ordinary keyframes you can edit. Select a character in Studio, then click the Bake animation tool (or right-click one of the character's tracks, Bake animation (this character)...).
- The columns open on what the character is playing now. Browse GROUP, CATEGORY, ANIMATION, or type in Search every animation. Click an animation to play it on the character. An accent dot marks the path to the animation that is loaded.
- Trim it: drag the white In and Out handles on the strip; click elsewhere on the strip to scrub. Loop the range (on) previews exactly the part that will be baked.
- Set FPS (1 to 60, default 30; lower gives fewer keys) and Loops (how many times the trimmed part repeats back to back).
- Choose what to capture: Body and limbs (IK), Head and neck (FK), Left fingers, Right fingers. Keep Loop-close on for walks and idles so the end wraps back to the In pose; turn it off for one-shots.
- Read the line at the bottom, Bakes 4.22s of keys onto the timeline, starting at 0.00s., and press Bake.
An ANIM Baking NN% pill shows progress and the window is locked; Esc stops it and keeps what was baked so far as one undo step. When it finishes the status strip offers Clean up N recorded keys?.
Afterwards the animation stays loaded but paused on the In pose, so bones that were not baked (spine, breasts) hold still. The character's animation tracks stay muted because the baked keys drive it now, and IK and FK are switched on for the parts you baked.
Cancel, Esc or closing the dialog puts back whatever the character was playing before you opened it.
- Make the timeline (or play range) at least as long as the bake. A bake that runs past the end is cut off there.
- Stop recording and clear any solo first. Otherwise Bake closes and does nothing (the reason goes to the BepInEx log).
- Animation lengths appear in the list only after you have played that animation once.
Motion path and onion skin
Motion path
Press M (or the Motion path tool) to draw every selected position track as a line in the 3D view, up to 8 at once. Select a GO Position track (or the camera origin) with at least two keys.
- The first path is tinted by speed, blue when slow to orange when fast, with small beads one frame apart. Bunched beads are slow, spread beads are fast, so easing is visible at a glance.
- Other paths use the track's colour, or a palette colour.
- Each keyframe is a gold ball. Click it to select that key (Ctrl adds), right-click to jump the cursor to it, drag it to move the key in 3D.
- A dot rides each path at the cursor time.
- Free handles splines show their handles as light blue diamonds. Drag to shape; Alt breaks the pair.
If the path is on but there is nothing to draw, an amber pill says why: Motion path: select a Position track to trace or Motion path: this track needs 2+ keyframes.
Onion skin
Ghosts: see-through copies of a character or item in the pose it has at nearby keyframes, face included. Past keys are blue, future keys orange, pinned times violet. Press O or use Show ghosts. Ghosts only show while paused.
- TARGET: Follow selection, or pick a fixed character or item so ghosts stay put while you select other things.
- Key times from: All tracks of the target, or only the Selected track.
- Past and Future: click the number to step 0 to 8.
- PINNED TIMES: Pin current time, or type a time and Add. Pins are saved with the scene.
- Textured ghosts keeps real textures and lighting. Off gives flat silhouettes. Opacity sets the nearest ghost; further ones fade.
While ghosts are on the status strip shows ONION 1+1 (and | 2 PINS). Physics and IK that settle after posing are not re-simulated, so they can lag a little in ghosts.
Motion checkup
The checkup scores how natural your animation reads and lists the tracks that move like a machine: hard corners, pops, dead stops, long runs at one speed, speed that jumps across a keyframe. It tells a hit that is meant to be sharp from a corner that is just rough, and leaves the hit alone. The scan only reads keys; only the Fix buttons change anything, and every fix can be undone.
Open it from All tools (Motion checkup, pin it if you use it often) or from the track menu, Check smoothness..., which scopes it to those tracks.
- Pick a scope: click Scan: Whole animation ▾ to switch between Whole animation, Selected tracks and Selected object. Only tracks with 2 or more keys count.
- Press Scan. The ring shows the score out of 100: Reads well (80+, green), Reads a bit mechanical (55+, amber), Reads machine made (red).
- Rows list tracks worst first. The line under each name is that track's speed over time: a flat line is one constant speed, a step is a keyframe where the motion hitches.
- Click a row to open it: the cursor jumps to its worst problem, and those keys are selected. The problem kinds are listed with what the interpolation is at that key.
- Flagged keys wear an amber ring on the dope sheet while the panel is open.
Fixing
| Button | Does |
|---|---|
| Fix N | Applies every safe fix as one undo step. Safe fixes only reshape ease curves or turn straight runs into splines; they never add, remove or move a key. |
| Bold N | Timing fixes: nudges evenly spaced keys off the metronome, adds an overshoot and settle after a hard stop, offsets left and right sides by 3 frames. These add or move keys. |
| Row Fix | Fixes one track, or one kind of problem on that track. |
| Rescan | Scans again with the current settings. |
After a Bold fix or a row Fix, the report greys out with Out of date. The animation changed since this scan. Press Rescan. The card's safe Fix N keeps the report live.
Dials (collapsed by default):
- Sensitivity (loose, normal, picky): how eager the scan is. 0.5 is calibrated.
- Fixing: Strength (default 85%) is how far a fix goes toward perfectly continuous speed; lower keeps more of what you animated. Max change (default 12%) is the most a fix may move the motion, as a share of the track's range; a fix that would go further is undone and skipped. Spline and Tension are used when a straight path is turned into a curve. Show speed in the curve editor adds the speed strip to the Curves tab.
- Checks: untick any of the 15 to stop looking for it.
The 15 checks
| Check | Hint shown in the panel | Fix |
|---|---|---|
| Hard corner | Direction snaps at this keyframe with speed on both sides. | Safe |
| Pop | The value jumps almost instantly. Reads as a glitch, not a move. | Safe |
| Jitter | The value shakes back and forth below the level of real motion. | None (use Clean up keys) |
| Stall | The motion parks here while the rest of the take keeps going. | Safe |
| Frozen track | This track is keyframed but its value never actually changes. | See Good to know |
| No ease | Linear segment starting or stopping dead. Nothing eases in or out. | Safe |
| Constant speed | A long run at one unvarying speed. The signature of machine motion. | Safe |
| Straight path | The path is a ruler line. Real limbs arc. | Safe (makes a spline) |
| Metronomic timing | Every keyframe lands on the same interval. Nothing breathes. | Bold |
| No follow-through | The move hits its target and stops. Nothing overshoots or settles. | Bold |
| Twinned sides | Both sides do the same thing on the same frames. | Bold |
| Lockstep rig | Every track on this object hits its pose on the same frame. | Bold |
| Dead side | One side of the pair performs, the other never moves. | None |
| Dead object | This object holds perfectly still while the scene around it moves. | None |
| Speed break | Speed jumps across this keyframe. The motion hitches instead of flowing through. | Safe |
Never reported or changed: keys in a keyframe group, Hold and hand-drawn keys, and tracks using the Stepped modifier.
Audio
Put sound on the timeline. Clips are saved inside the scene, so a scene you share plays with its sound.
- Open the Audio tool. Put the cursor where the sound should start.
- + Add clip (browse...) opens a Windows file picker (WAV, OGG, MP3). Or open From audio folder and click a file there. A key lands on the selected channel at the cursor.
- Select that key on the dope sheet. Drag the waveform to trim (the nearest handle follows), set Volume up to 300%, and set Fade In and Out for this key.
- Preview and Stop audition it even with the timeline stopped.
- CHANNELS: up to 8 lanes, each with its own track, so music and effects can overlap. Click a lane to target it. Each has a level slider and On / Mute. Remove last removes the newest lane with its keys; Audio 1 always stays.
- Save to library copies the clip with its trims and volume into the audio folder (
BepInEx\plugins\NextGenTimeline\Audio) so any scene can reuse it. It then reads In library ✓. - Remove clip deletes this key.
Sound plays only while the timeline plays; scrubbing is silent. It always plays at normal pitch and does not follow the Speed field. Clips on different channels overlap; a new key on the same channel cuts the previous one. Volume above 100% is applied to a normalised copy, and the panel says how much headroom the clip has.
The trim and Volume in the Audio panel belong to the clip, and every key using that clip follows them. Those two edits are not undoable. To make one key differ, use the value inspector's Volume, Start and End for that key. Fades are always per key. A pasted audio key shares its clip with the original.
Animation files
Save one object's animation to a named file and load it onto another. The library lives in BepInEx\plugins\Timeline\Single Files and is compatible with the original Timeline's single files.
- Save: select the object in Studio, type a name, press Save. A file with the same name is overwritten.
- Load: select the target object, click a file, press Load. The tracks are added to what the object already has, as one undo step. For a character it also loads the Studio animation that was playing when you saved.
- Delete: press Delete, then Confirm?. The file is deleted for good.
- Folders: type a name, press + then ✓. Click a folder to enter,
..to go up.
Settings, Animation files in folders off lists every file at once with its folder beside the name. Track modifiers are saved in the file.
Settings and theme
| Setting | Default | Meaning |
|---|---|---|
| UI scale | 100% | Presets 75 to 200%, or type 50 to 250 in Custom and press Enter. |
| Loop mode | Loop | Loop, Once, Ping-pong at the end of the timeline. |
| Autoplay on scene load | Ignore | Yes plays from the start, No stops, Ignore leaves it. |
| NEW SCENES: Length, Block length, Divisions | 10 s, 10 s, 10 | What a new scene, a cleared timeline, or a scene without a timeline starts with. Use this scene's copies the open scene's values; Reset to 10 / 10 / 10 puts them back. Scenes that already have a timeline keep their own. |
| Highlight pasted keyframes | On | Flash pasted and repeated keys. |
| Auto-select linked handle | On | Selecting a track selects its handle in Studio. |
| Easy bone names | On | "Thigh L" instead of "cf_j_legup00_L". Your own names are never changed. |
| Alternating row shading | On | Every other row slightly tinted. |
| Animation files in folders | On | Folders in the Files panel, or one flat list. |
| Tooltip delay | 0.35s | 0 to 1.5 seconds; 0 shows them instantly. |
| Ruler number density | Normal | Sparse, Normal, Dense time labels. |
| Spline strength on connectors | On | Connector thickness follows tension. |
| Spline strength on hover | On | Tension chip over spline keys. |
| Motion path M hotkey | On | Turn off if another plugin uses M. |
| Ctrl+Z only over window | Off | Off: plain Ctrl+Z undoes the timeline while the window is open. On: only while the pointer is over it. Ctrl+Alt+Z always works. |
| Keyframe new tracks | On | A new track gets a key at the cursor. |
| Auto-expand filtered results | On | Open folders that contain search matches. |
| Paste on time conflict | Overwrite | Overwrite, Skip, Abort. |
| New keyframe interpolation | Inherit | Inherit, Linear, Smooth, Auto handles. |
| Dock compact timeline | Off | Drop the window on the bottom edge to shrink it to a strip. See Compact dock. |
| Default position spline | Off | Spline type for new position keys. |
| Smooth new rotation keys | Off | SQUAD for new rotation keys. |
| Tension | 1.0 | Default spline tension. 0 to 2 round, 2 to 4 overshoot. |
| Dual-rig spine FK guard | Off | Keeps the spine steady when FK and IK are both on (KineMod dual rig). Turn it on only if dual-rig spine rotations stall and then snap; it can fight other posing plugins. |
A HIDDEN TRACK GROUPS section appears in Settings when you have hidden any plugin section, with a Show button for each.
All shortcuts
| Keys | Action |
|---|---|
| Ctrl+T | Show or hide the window |
| Shift+T | Play or pause |
| Ctrl+C / X / V | Copy, cut, paste keyframes |
| Ctrl+Z / Y | Undo, redo the timeline while the window is open |
| Ctrl+Alt+Z / Y | Undo, redo the timeline from anywhere |
| Delete | Delete selected keyframes |
| Ctrl+L | Lock or unlock the selected tracks |
| F2 | Rename selected track |
| T | Add keyframe at cursor |
| K | Pose key: keyframe every enabled track |
| E / Shift+E | Cycle easing preset / easing menu |
| G (over window) | Keyframe groups panel |
| M | Motion path |
| O | Onion-skin ghosts (paused) |
| G / R / S (viewport) | Move, rotate, scale the selected handle; X Y Z lock an axis, Shift precision |
| , / . | Previous / next keyframe |
| ← / → | Nudge keys 1 frame (Shift: 1 beat) |
| Home / End | Jump to start / end |
| F / A | Frame selection / frame all |
| Enter / Esc | Apply / cancel a retime |
| Esc | Close menu, rename, panel, window; cancel a bake |
| Middle-click | Add keyframe (Shift snaps, Alt every selected track) |
| Ctrl+middle-click | Delete keyframe (Shift: with the selection) |
| Alt+drag keyframe | Duplicate selection |
| Shift+drag | Snap to beat, keyframes and markers |
| Ctrl+drag ruler | Set play range |
Every key above that has a config entry can be changed in the BepInEx configuration manager under Timeline. No shortcut fires while you are typing in a text field.
Config file
Settings live in BepInEx/config/com.zolteq.nextgentimeline.cfg, editable with the BepInEx configuration manager. Most are also in the Settings panel. These are only in the config file:
| Section / key | Default | What it does |
|---|---|---|
| Interface / Selected node tracking | Off | When you select an FK or IK node in the viewport: Highlight tints its keyed rows, ScrollTo jumps the list to them, HighlightAndScroll does both. |
| Motion Path / Velocity heat and beads | On | Speed colours and beads on the motion path. |
| Interface / Compact strip width | 760 | Width of the docked strip, 420 to 3000. Easier to set by dragging the strip's ends. |
| Interface / Compact strip lanes | 1 | How many key lanes the docked strip shows, 1 to 4. The strip's dropdown sets it too. |
| Interface / Show tracks of every object | Off | The All button beside the filters, remembered between sessions. |
| Editing Shortcuts / Lock tracks | Ctrl+L | Lock or unlock the selected tracks (or the tracks of the selected keys). |
| Interface / Preset grid scale | 1 | Size of the Set interpolation and Spline path grids, 0.8 to 1.8. |
| Interface / Preset grid animation | Hover | Hover plays only the tile under the pointer; Constant plays every tile. |
| Picker / Blender transform keys | On | G, R, S in the viewport. |
| Checkup / Sample rate | 30 | Samples per second when measuring curved segments. |
| Checkup / Cross-track checks | On | Compare tracks with each other (twinned, lockstep, dead side, dead object). |
| Diagnostics / Health log | On | Writes problems to BepInEx/NextGenTimeline-diag.log. Leave it on: if the UI stops taking clicks, that file explains why. |
| Diagnostics / Recover automatically | On | Undo a broken state when one is detected, instead of only reporting it. |
| Layout / Pin to top of list | The three Selected GuideObject types | Tracks kept at the top of the list. Easier from the track menu. |
| Layout / Pinned tools | 7 tools | Which tools sit on the tool row. Easier from All tools. |
Compatibility
- Scenes. Old Timeline scenes open unchanged. Scenes you make open in the original Timeline too, as long as you only use features the original had. NGT's extras (markers, groups, modifiers, audio, onion pins) are stored separately and simply ignored there. The original drops audio tracks.
- Other plugins. NGT answers to Timeline's name and identity, so HS2PE, VNGE, VideoExport, FlowControl, NodesConstraints, BoneVisualizer, ShalltyUtils and Hermes keep working. 1.1 fixed several of these that broke in 1.0.
- Undo. Timeline edits have their own history (100 steps), so undoing an animation change never rolls back something else you did in Studio. The history resets when a scene loads.
Scenes made with a bigger build
If a scene has tracks from features this release does not include, a warning bar names them when you open it:
Those tracks are not loaded, so saving the scene drops them for good. Keep a copy, or use the build they came from.
Good to know
Small things that surprise people.
| Situation | What happens |
|---|---|
| Right-click on empty sheet or list space | Nothing. Only keys, tracks, folders, headers and markers have menus. Use the keyframe menu's Seek cursor here or click the ruler to move the cursor. |
| The Help panel lists P and Ctrl+click (picker) | Those two rows belong to a character picker that is not in 1.2. They do nothing. |
| Tracks cannot be dragged | Reorder with Move up and Move down. Only the UPPERCASE plugin headers drag. |
| Record did not key anything | Recording only keys while paused, and never the pose that existed when you armed. |
| A menu item seems to do nothing | Some tools report refusals only in the BepInEx log: Bake with REC or solo on, Split and Merge refusals, Key frame all Hand FKs with no character selected, Adjust with text it cannot read, Repeat in Abort mode. |
| Motion checkup fix changes nothing | It would have moved the motion more than Max change, so it was put back. Raise Max change or lower Strength. |
| Frozen track in the checkup | It is reported, but no Fix button in 1.2 applies it. Delete the extra keys or add a Noise modifier yourself. |
| Escape does not close the Motion checkup | Use its close button or the tool again. |
| Play range, Solo and STEP disappeared | They are working aids for the session and are not saved with the scene. |
| Clean up keys sliders reset | Match, Strength and Smoothing are remembered for the session only. |
| A character stopped blinking | A Blink track turns off random blinking for that character. Mute the track to get it back. |
| Keys will not select | The track is probably locked. Click its amber padlock, or press Ctrl+L with the track selected. |
| Animation files and layers | Animation files save tracks and modifiers, not animation layers. |
| Toolbar button right click | Starts playback. Use Shift+T or the transport to pause. |
NextGen Timeline builds on joan6694's Timeline, whose data model and scene format it keeps on purpose, and absorbs TimelineImprover's ideas natively.