Create simple tweens for UMG widgets from C++.
UBUITween::Create( SomeWidget, 0.2f ) .FromTranslation( FVector2D( -100, 0 ) ) .FromOpacity( 0.2f ) .ToTranslation( FVector2D( 20, 10 ) ) .ToOpacity( 1.0f ) .Begin();The plugin module registers itself to tick automatically even during game-world pause.
// Make UWidget MyWidget fade in from the left const float TweenDuration = 0.7f; const float StartDelay = 0.3f; UBUITween::Create( MyWidget, TweenDuration, StartDelay ) .FromTranslation( FVector2D( -100, 0 ) ) .FromOpacity( 0.2f ) .ToReset() .Easing( EBUIEasingType::OutCubic ) .Begin();Parameters available:
| Property | From | To |
|---|---|---|
| Translation | FromTranslation( FVector2D) | ToTranslation( FVector2D ) |
| Scale | FromScale( FVector2D ) | ToScale( FVector2D ) |
| Rotation | FromRotation( float ) | ToRotation( float ) |
| Opacity | FromOpacity( float ) | ToOpacity( float ) |
| Color | FromColor( FLinearColor ) | ToColor( FLinearColor ) |
| Visibility | FromVisibility( ESlateVisibility ) | ToVisibility( ESlateVisibility ) |
| Canvas Position | FromCanvasPosition( FVector2D ) | ToCanvasPosition( FVector2D ) |
| SizeBox Max Height | FromMaxDesiredHeight( float ) | ToMaxDesiredHeight( float ) |
| Slot Padding | FromPadding( FMargin ) | ToPadding( FMargin ) |
Other helper functions:
ToReset()
UBUITween::Create( MyWidget, 0.5f ) .FromRotation( -90 ) .ToRotation( 45 ) .OnComplete( FBUITweenSignature::CreateLambda([]( UWidget* Owner ) { // Do some logic on complete } ) ) .Begin();For the full API, check the source code.
- I haven't performance-tested it beyond having 5-6 tweens running simultaneously.
- No Blueprint support.
If you find it useful, drop me a line @_benui on Twitter