Tweens

local tweenService = game:GetService("TweenService")
local part = script.Parent

local tweenInfo = TweenInfo.new(3, Enum.EasingStyle.Bounce)

local goal = {
	Position = Vector3.new(13, 3, 147.5),
	Size = Vector3.new(20, 20, 20)
}

local tween = tweenService:Create(part, tweenInfo, goal)
tween:Play()

//tween:Pause()

tween.Completed:Connect(function()
	print("Tween completed")
end)

The important thing to understand is that TweenService creates a Tween object, while TweenInfo describes how that Tween behaves.


Tween Info

TweenInfo.new(
    time,
    easingStyle,
    easingDirection,
    repeatCount,
    reverses,
    delayTime
)


What can you actually Tween?

Position = Vector3.new(10, 5, 0)
Size = Vector3.new(10, 10, 10)
Transparency = 1
Color = Color3.fromRGB(255, 0, 0)
CFrame = CFrame.new(10, 5, 0)

And UI !!