BoatTween module

Just by doing it? You can require other modules inside other modules, what you can’t do, is have two modules require each other before they’re both finished requiring.

This might be useful.

1 Like

How can I change the Time value when Tween’s Reverses value is set to true?

is this module being maintained at all?

this is what I get with the example provided in the original post.

I tried other styles with similar result. One of them threw me a nil error from the module.

Maybe there is something that needs to be updated? Still, thank you for the this and the many other resources Boatbomber!

Is the part anchored? Looks like physics is interfering with the tween.


Stupidly late but here’s a clip of all the tween styles (@octav20071):


I’ve experienced an issue with Elastic, Back and Revback easing styles when using Boat Tween.

After testing back and forth between the regular tween service and boat tween, I realized that the boat tween values can’t exceed 1 compared to tween service which can.

The code I’m running to create said boat tween is:

local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local BoatTweenService = require(game.ReplicatedStorage.BoatTween)

RandomY = math.random(6,6)

--local Info =, Enum.EasingStyle.Back, Enum.EasingDirection.Out, 0, false, 0)

--local Tween = TweenService:Create(script.Parent, Info, { Value = RandomY })

local Tween = BoatTweenService:Create(script.Parent, {
	Goal = { Value = RandomY },
	StepType = "RenderStepped"})

I don’t know if this was intended or if it’s a bug, seeing as I’ve only recently started using these specific easing styles.


Is it possible to make Example you showed us into a script with a remote function?
tween:FireServer(part,4,"EntranceExpressive","In",true,1,3,"HeartBeat",Color =,0.2,0.9)
and inside the server script it will already contain Tween:Play()
Is that possible? (x2)

There’s a bug with NumberRange tweens. It can go from 0 to a higher number just fine, but when tweening down to zero, it will continue infinitely into very small fractional numbers and calling Destroy() does not stop the tween. I hooked into a property changed signal for Speed on a particle emitter to verify this.

Tweening on:

tween on

Tweening off:

tween off

As you can see, the numbers become incredibly small but never reach 0.

I was having the same issue. If you want to fix it, open the BoatTween module and remove the math.clamp on line 437, like so:

I’m sure there’s a reason why there’s a clamp, but I’m not sure what it is.