JayAnimator is a lightweight tweening and animation framework that enables flexible, code-driven runtime animation workflows in Unreal Engine 5.
It provides smooth tween animations using C++ and Blueprint and supports transform and material parameter tweens, allowing you to create polished animations with minimal effort.
OnComplete)Copy the Plugin
Place the JayAnimator folder into the engine's Plugins/ directory.
Enable in Unreal Engine
Open your project β Edit β Plugins β (Engine Tools category) or Search for JayAnimator β Enable.
Restart Unreal Engine to complete setup.
Tween Move node from JayAnimator/Tween category in Blueprint.movable.Tween Mat Param Float 1 (for scalar parameters) or other material tween nodes.shader parameter name: the float parameter name), or providing an optional shader name for quick shader lookup.
Include the header in your class:
#include "jTweenBPLibrary.h"
Example: Tween Actor Location
FJTweenOptions Options;
Options.Duration = 1.5f;
UjTweenBPLibrary::TweenMove(
MyActor,
EJTweenEasing::Linear,
false,
FVector(0,0,0),
FVector(300,0,0),
1.5f,
Options,
FJTweenCompleteDelegate()
);
Example: Tween Material Parameter
FJTweenMaterialOptions MatOptions;
MatOptions.ShaderParamName = "MyParam";
UjTweenBPLibrary::TweenMatParamFloat1(
MyActor,
EJTweenEasing::EaseInOut,
0.f,
1.f,
2.f,
MatOptions,
FJTweenOptions(),
FJTweenCompleteDelegate()
);
| Field | Type | Default | Description |
|---|---|---|---|
CustomCurve |
UCurveFloat |
null |
Optional custom curve driving the tween (0β1).
Use when built-in easing functions are not sufficient.
|
PlayMode
Advanced
|
EJTweenPlayMode |
StartOver |
Defines how the tween behaves across multiple plays (restart, reverse, ping-pong β depending on your enum). |
PlayCount
Advanced
|
int32 |
1 |
Number of times the tween is played.
A value of
1 means βplay once.β
|
| Field | Type | Default | Description |
|---|---|---|---|
ShaderParamName |
FName |
None |
Name of the material parameter to animate.
This field is required for material tweens.
|
ShaderNameHint |
FName |
None |
Exact material name to target. |
ShaderNamePrefixHint
Advanced
|
FName |
None |
Matches materials whose names start with this prefix
if ShaderNameHint is empty.
|
bMultiInstance
Advanced
|
bool |
false |
If enabled, all matching material instances are animated.
Otherwise, the first matching instance is used.
|
bStopOnFirstParamMatch
Advanced
|
bool |
true |
Stops searching once a material exposing the parameter is found. |
FVector, FVector4, FLinearColor)
map to material vector parameters, while float tweens map to
scalar parameters.
Author: Mohsen Jahanbakhshi
Category: Unreal Engine Plugins / Engine Tools