Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
A Godot 4.x editor plugin that allows you to batch shift animation keyframe values while preserving their relative offsets - something the default Godot inspector cannot do.
AnimationPlayer KeyFrame Shifter
A Godot 4.x editor plugin that allows you to batch shift animation keyframe values while preserving their relative offsets - something the default Godot inspector cannot do.
Features
- Batch Shift Keyframe Values: Apply numeric offsets to all keyframes in an animation while preserving each keyframe's individual value
- Undo/Redo Support: Full integration with Godot's undo/redo system for safe editing
- Direct Track Access: Bypasses inspector limitations by working directly with animation track data
- Preserves Relative Values: Shifting keyframes with values
[0, 1, 2]by+12results in[12, 13, 14]instead of overwriting all to a single value - Works with Any Numeric Values: Supports both integer and float keyframe values (sprite frames, positions, scales, etc.)
Installation
From Asset Library
- Open Godot Editor
- Go to AssetLib tab
- Search for "AnimationPlayer KeyFrame Shifter"
- Click Download → Install
- Enable the plugin in Project Settings → Plugins
Manual Installation
- Copy the
addons/APKeyFrameShifterfolder into your project'saddons/directory - Enable the plugin in Project Settings → Plugins
Usage
- Select an
AnimationPlayernode in your scene - In the Inspector, scroll to the bottom to find the "Shift All Keyframe Values" section
- Set the "Current Animation" property in the AnimationPlayer inspector (not in the Animation panel)
- Enter a shift amount (positive or negative integer)
- Click "Apply" to shift all numeric keyframes in the current animation
Important: The plugin operates on the animation selected in the AnimationPlayer inspector's "Current Animation" property, not the animation selected in the bottom Animation panel.
The Problem This Solves
Godot's built-in AnimationMultiTrackKeyEdit system has a limitation: when you select multiple keyframes, it only stores a single value and overwrites all selected keyframes with that value. This makes it impossible to batch shift sprite frame indices or other sequential values.
Without This Plugin
To shift sprite frames from [0, 1, 2, 3, 4] to [10, 11, 12, 13, 14], you must:
- Manually edit each keyframe one at a time, OR
- Use a tedious workaround with select/deselect/increment cycles
With This Plugin
Simply enter +10 as the shift amount and click Apply. All keyframes are shifted while preserving their relative offsets.
How It Works
The plugin works around the inspector limitation by:
- Reading keyframe values directly from animation tracks via the AnimationPlayer API
- Applying the offset to each individual keyframe value
- Updating the tracks with the new values while preserving all timing and other properties
Technical Details
- Godot Version: 4.x
- License: MIT
- Language: GDScript
- Plugin Type: Editor Inspector Plugin
Use Cases
- Shifting sprite frame indices when reordering sprite sheets
- Adjusting animation timings or positions en masse
- Offsetting numeric properties across entire animations
- Any scenario requiring batch mathematical operations on keyframe values
Support & Contributing
Report issues and contribute at: https://github.com/ilisVela/APKeyFrameShifter
License
MIT License - See LICENSE file for details
A Godot 4.x editor plugin that allows you to batch shift animation keyframe values while preserving their relative offsets - something the default Godot inspector cannot do.
Reviews
Quick Information
A Godot 4.x editor plugin that allows you to batch shift animation keyframe values while preserving their relative offsets - something the default Godot inspector cannot do.