JayAnimator Documentation

Table of Contents

Overview

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.


πŸ“Œ Features


πŸ“‚ Installation

  1. Copy the Plugin
    Place the JayAnimator folder into the engine's Plugins/ directory.

  2. Enable in Unreal Engine
    Open your project β†’ Edit β†’ Plugins β†’ (Engine Tools category) or Search for JayAnimator β†’ Enable.

    Enable in Plugins
  3. Restart Unreal Engine to complete setup.


πŸš€ Quick Start (Blueprint)

Example: Tween Actor Location

  1. Add the Tween Move node from JayAnimator/Tween category in Blueprint.
  2. Make sure the actor's mobility is set to movable.
  3. Set:

Example: Tween Material Parameter

  1. Use Tween Mat Param Float 1 (for scalar parameters) or other material tween nodes.
  2. Provide:

Blueprint Node Examples

Tween Nodes
Tween Nodes

Material Nodes
Material Nodes

Transform Nodes
Transform Nodes

πŸ’» Quick Start (C++)

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()
);

πŸ”§ Options

FJTweenOptions
General playback options applied to all JayAnimator tween types.
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.”
FJTweenMaterialOptions
Controls how material parameters are located and animated at runtime.
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.
Tip: Vector-like tweens (FVector, FVector4, FLinearColor) map to material vector parameters, while float tweens map to scalar parameters.

Author: Mohsen Jahanbakhshi
Category: Unreal Engine Plugins / Engine Tools