Check out the demo!


The Universal Tween Engine enables the interpolation of every attribute from any object in any Java project (being Swing, SWT, OpenGL or even Console-based). Implement the TweenAccessor interface, register it to the engine, and animate anything you want!

In one line, send your objects to another position (here x=20 and y=30), with a smooth elastic transition, during 1 second).

// Arguments are (1) the target, (2) the type of interpolation, 
// and (3) the duration in seconds. Additional methods specify  
// the target values, and the easing function., Type.POSITION_XY, 1.0f).target(20, 30).ease(Elastic.INOUT);

// Possibilities are:; // interpolates from the current values to the targets
Tween.from(...); // interpolates from the given values to the current ones
Tween.set(...); // apply the target values without animation (useful with a delay); // calls a method (useful with a delay)

// Current options are:

myTween.repeat(2, 0.5f);
myTween.repeatYoyo(2, 0.5f);

// You can of course chain everything:, 0.5f).start(myManager);

// Moreover, slow-motion, fast-motion and reverse play is easy,
// you just need to change the speed of the update:

myManager.update(delta * speed);

Create some powerful animation sequences!

    // First, set all objects to their initial positions

    // Wait 1s

    // Move the objects around, one after the other

    // Then, move the objects around at the same time

    // And repeat the whole sequence 2 times
    // with a 0.5s pause between each iteration
    .repeatYoyo(2, 0.5f)

    // Let's go!

You can also quickly create timers:;

Main features are:

Get started and documentation index

Detailed documentation with code snippets and examples is available for the following topics:

Where can I ask for help?

There is a dedicated forum for you:

Also, the following link will guide you to a discussion thread that started it all: