All docs
Animation Pro

Timeline Improver

A deep quality-of-life overhaul for Timeline.

Version
1.4
Access
Pro
Category
Animation
GUID  user.timeline.improver

Overview

Timeline Improver is a Studio-only add-on that layers dozens of quality-of-life features onto joan6694's Timeline animation plugin. It fixes the long-standing broken keyframe paste, then adds rich right-click menus, easing presets, smooth spline motion through position keyframes, a repeat-at-intervals tool, built-in undo/redo, a curve editor, a viewport motion-path overlay, color-coded keyframe groups, and everyday editing shortcuts, all with an optional dark/light theme and custom font. It also bundles a body ripple/shockwave effect system that can be keyframed inside Timeline or fired live on collisions. It runs only inside HS2 Studio and requires the Timeline plugin to be installed.

Hotkeys

KeyAction
Ctrl+C / Ctrl+X / Ctrl+VCopy, cut, and paste the selected keyframes (works with either Ctrl key and while extra modifiers are held)
F2Rename every selected parameter (rebindable)
TDrop a keyframe at the playback cursor on every selected parameter (rebindable)
MToggle the viewport motion-path overlay (rebindable)
GOpen or close the Keyframe Groups window (rebindable)
HOpen or close the curve / graph editor window (rebindable)
EscClose the active Timeline Improver dialog, rename box, or window
Ctrl+Shift+PRe-apply the pinned-parameter ordering right now
KFire a ripple / shockwave on the visible character body (bundled ripple system, rebindable)
LClear all active ripples (rebindable)
NToggle the ripple tuning window (rebindable)
JToggle automatic collision-driven ripples on or off (rebindable)
F10Log ripple contact diagnostics to the BepInEx console (rebindable)

Features

  • Reliable keyframe pasteFixes the stock plugin's silent paste-abort so a copied block actually lands, letting overlapping keyframes overwrite (or skip) instead of cancelling the whole paste, and briefly pulses the new keyframes so you can see where they went.
  • Repeat keyframes at intervalsA dialog that stamps the selected keyframes down the timeline at a fixed time interval, either a set number of times or all the way until the end of the animation.
  • Rich right-click menusRight-clicking a keyframe or a parameter row adds actions like seek-to-here, select all keyframes with the same value, select every other node, set interpolation, and repeat.
  • Easing interpolation presetsApply Linear, Smooth, Ease In, Ease Out, or Step easing to the selected keyframes or to every keyframe of a whole channel in one click.
  • Curved spline motionMark position keyframes so the object arcs smoothly through them instead of moving in straight lines, choosing between Catmull-Rom, Natural (C2), B-spline, and Hermite curves with adjustable tension per keyframe or globally.
  • Undo and redoAn on-screen Undo/Redo bar pinned to the Timeline window steps back and forward through keyframe edits, keeping up to 100 history states.
  • Curve editor windowA pop-up graph editor lets you drag control points and in/out tangent handles to shape a keyframe's easing curve, apply presets, and mirror the result across every selected keyframe.
  • Motion-path overlayDraws the selected position parameter's real trajectory in the 3D viewport, curved when the keyframes are splined, with a marker at each keyframe.
  • Keyframe groupsCreate color-coded, named groups of keyframes that tint in the grid and can be re-selected as a set with a single click for easier organization of complex animations.
  • Everyday editing shortcutsRename selected parameters, add a keyframe at the playhead across all selected parameters, and automatically select a parameter's linked guide object in the scene when you pick it.

Configuration

SettingDefaultWhat it does
Paste: On time conflictOverwriteWhat happens when a pasted keyframe lands on a time that already has one: Overwrite replaces it, Skip keeps the original and drops the paste, Abort cancels the whole paste (the old Timeline behavior).
Highlight pasted keyframestrueBriefly pulse newly pasted keyframes so you can spot where they landed; pulse colors, duration, and speed are all adjustable.
Enable shortcut fallbacktrueLets the plugin listen for Ctrl+C/X/V itself so copy/cut/paste keep working even when another plugin has hijacked the keys; turn off to rely only on Timeline's own binding.
Pin to top of list(selected object pos/rot/scl)Comma-separated parameter names that are kept at the top of the parameter list in the given order; leave empty to disable.
Spline: AlgorithmCatmull-RomDefault curve type for newly splined keyframes; also selectable per keyframe from the right-click Spline submenu.
Spline: Tension1.0Overall strength of spline curves, from 0 (straight line) through 1 (standard) up to 4 (dramatic overshoot); meaning varies slightly by algorithm.
Theme: Dark modetrueSwitches the Repeat dialog, context menus, and Timeline's own UI between a dark and a light color scheme; the change applies immediately.
Custom font family(empty)OS-installed font family for the dialog and menus; empty uses the bundled default Questrial if installed, otherwise Arial.
Custom font size override0Pixel size for the dialog and menu text; 0 keeps the existing default sizes.
Replace keyframe at same timetrueWhen the add-keyframe shortcut hits a time that already has a keyframe, replace it; off leaves the existing one untouched.
Auto-select linked GuideObjecttrueSelecting a parameter also selects its linked guide object in the scene.
Motion Path: Smoothness24Samples drawn per keyframe segment for the viewport motion-path line; higher is smoother.
Tint grouped keyframestrueTints grouped keyframes in the grid with their group color (selected and freshly pasted keyframes keep their normal highlight).
Collision ripples: EnabletrueBundled ripple system automatically fires ripples where bodies collide; turn off to use only the manual hotkey.
Contact denting: EnabletrueBundled ripple system dents the skin around fingers and palms via GPU contact deformation; requires Hanmen's contact shader to be visible.

Requirements

  • Timeline (joan6694). Hard dependency. Timeline Improver enhances joan6694's Timeline and hooks directly into its internals, so it will not load unless Timeline is installed.
  • HS2 Studio (StudioNEOV2). The plugin only runs in Studio; it does nothing in the main game.
  • KKAPI / HS2API (optional). Soft dependency used by the bundled ripple system's Studio toolbar button; loaded first if present but not required.
  • Hanmen displacement / contact shader (optional). The bundled ripple mesh displacement works on its own, but the normal-mode and skin-contact denting effects stay inert until Hanmen's shader is present.
  • Questrial font (optional). The plugin's intended dialog and menu look uses the free Questrial font; without it the text falls back to Arial.

Tips

  • Undo and redo live on the on-screen bar at the top-right of the Timeline window, not on a Ctrl+Z shortcut.
  • Spline marks, per-keyframe tension, and keyframe groups are session-only and reset when you load or import a scene, so re-apply them after loading.
  • Right-click a parameter row (not just a keyframe) to re-curve or spline an entire channel at once without selecting all its keyframes first.
  • The bundled ripple/shockwave system is fired with K, cleared with L, and tuned with the N window; some of its effects need Hanmen's shader to appear.