An Unreal Engine 5.6+ plugin that provides Timeline functionality for any UObject-derived class, breaking free from the standard Actor-only UTimelineComponent limitation.
- Clone this repository into your project's
Pluginsfolder - Regenerate project files
- Build the project
- Download packaged version of the plugin in releases.
- Copy to your project's
Pluginsfolder - Enjoy!
| Module | Type | Description |
|---|---|---|
ObjectTimelineRuntime |
Runtime | Core UTimelineObject class and binding system |
ObjectTimelineUncooked |
Editor | Blueprint node, graph widget, and timeline editor |
- Right-click in the Blueprint graph
- Search for "Object Timeline" under the Object Timeline category
- Add the node and connect execution pins
- Double-click the node to open the Timeline Editor
- Add tracks and keyframes as usual
#include "TimelineObject.h"
// Get or create a timeline for any UObject
UTimelineObject* Timeline = UTimelineObject::GetOrCreateTimelineObject(
this, // Owner (any UObject)
TEXT("MyTimeline"), // Timeline name
TEXT("OnTimelineUpdate"),// Update callback function name (optional)
TEXT("OnTimelineEnd") // Finished callback function name (optional)
);
// Control playback
Timeline->Play();
Timeline->PlayFromStart();
Timeline->Reverse();
Timeline->Stop();
// Query state
float Position = Timeline->GetPlaybackPosition();
bool bPlaying = Timeline->IsPlaying();
// Get interpolated values
float FloatValue = Timeline->GetFloatValue(MyCurveFloat);
FVector VectorValue = Timeline->GetVectorValue(MyCurveVector);UTimelineObject (UObject + FTickableGameObject)
├── FTimeline (internal timeline logic)
├── Track Curves (Float, Vector, Color, Event)
├── Event Track Delegates
└── Bound Function Tracking
UK2Node_TimelineObject (Blueprint Node)
├── Input Pins (Play, Stop, Reverse, SetNewTime)
├── Output Pins (Update, Finished, Direction)
├── Track Output Pins (dynamic per track)
└── ExpandNode() → GetOrCreateTimelineObject + Event Nodes
UTimelineObjectBinding (UDynamicBlueprintBinding)
└── Automatic delegate binding for compiled Blueprints
| Feature | UTimelineComponent | UTimelineObject |
|---|---|---|
| Owner Type | Actor only | Any UObject |
| Ticking | Component tick | FTickableGameObject |
| Blueprint Node | UK2Node_Timeline | UK2Node_TimelineObject |
| Delegate Binding | Automatic (Actor) | UTimelineObjectBinding |
| World Access | Actor->GetWorld() | Outer->GetWorld() |
- Unreal Engine 5.6+
- C++17 or later
MIT License.
Issues and pull requests are welcome.