Fresh Cooked Games - Fresh Cooked Tweens

Smoothly animate with convenient pre-defined curve functions, adding polish to your project without breaking a sweat. These can be utilized for UI Widgets, Actors, Components, Material properties, or anything else you need to animate.

Documentation - GIFs included

Features

  • Tween with shortcuts such as TweenActorLocation, TweenMaterialScalar, and TweenWidgetPadding, and more

  • Tween generic values for Floats, Vector2D, Vector, Vector4, LinearColor, and Quaternion

  • 33 easing equations

  • Move objects along splines

  • Simple and flexible C++ API with safe lambdas

  • TweenQueues, to play multiple tweens one after the other

  • Full blueprint support, with asynchronous blueprint nodes

  • Tween options including Delay, Loops, Yoyo, Pause, Restart, Callbacks, and more

Hey Jared! Thanks for the great plugin, I’d really really appreciate a 5.6 version

Hi CryingPsycho, the 5.6 version is now available!

1 Like

Been using this plugin for years, bought it to show support! Its been really helpful.

Just wanted to request a TweenTransform node so I can do location, rotation and scale in one shot if possible.

Keep up the good work!

1 Like

Thanks @WonderSnail! I actually had that on my list, I will make sure to get it in.

1 Like

I’m a huge fan of this plugin, been using it for well over a year and bought the pro version to help support it!

I had a slight issue with 5.6 (not sure if it affects older versions) when I used any of the tween nodes in a Blueprint class derived from a C++ class. When I opened the project the node would be missing with a linker error. It seems to be a load order issue, and setting the module’s load order to ‘PreDefault’ (in the uplugin) fixed it.

1 Like

Oh interesting, I really appreciate you figuring that out @DaveFace - I’ll be sure to fix that in the next update!

Version 2.2 is now released!

New Features

  • Transform tweens now available.
  • New shortcuts for tweening ActorTransform, ComponentTransform, and ComponentTransformRelative.
  • New tween shortcuts for ActorRotationSpeed and ComponentRotationRelativeSpeed, where you can define a speed to constantly rotate at in an infinite loop.

Bug Fixes

  • Changed module loading order to PreDefault.
  • Fixed a bug with tween delay and loop timing, where deltatime going past the counter was not accounted for.
1 Like

Hello Jared, really appreciate your work here! Could you please update the plugin to be compatible with UE 5.7?

5.7 now available! Apologies for the delay.

1 Like

Released Fresh Cooked Tweens 2.3:

New Platforms:

  • Android

  • Linux

New Features:

  • New shortcut: ActorRotateAroundPoint

Misc:

  • Added null checks on provided component for component shortcuts

  • Fixed a bug where bAutoDestroy could be set after a UFCTweenInstanceBP is recycled

  • Fixed bSweep and bTeleport not being passed into TweenActorLocationAdd, TweenComponentTransform, TweenComponentTransformRelative

Thanks for the update :slight_smile:
Is ActorRotateAroundPoint used to make a Character face another? I couldn’t find it in the docs.

With this one, you can provide a point, and the actor will start rotating around it as if the point is its parent.

	/**
	 * Tween the actor's rotation around a given point. Starts rotating from the current relative position to Point at the time of calling this function. Relative position is not
	 * recalculated later if the tween is delayed or part of a queue. For an infinite loop, use 360 degrees and -1 loops.
	 * This is a memory-safe function; this tween will be destroyed when the actor is destroyed.
	 * @param Actor Actor to be rotated
	 * @param Point The point to rotate around
	 * @param RotationAxis The axis of rotation. FVector::Up would rotate in the horizontal plane.
	 * @param EndAngleDegrees How many degrees to rotate around the point. Pass 360 for a full rotation.
	 */
	static FCTweenInstanceFloat* PlayActorRotateAroundPoint(AActor* Actor, FVector Point, FVector RotationAxis, float EndAngleDegrees, float DurationSecs,
		EFCEase EaseType = EFCEase::Linear, bool bSweep = false, bool bTeleport = true);