TweenService V2


I know I feel pretty stupid lmao


This kind of information doesn’t have an obvious location to search for on the wiki, sometimes you can only know of their existence by doing experiments on your own.

Not all parts replicate at the same rate, see ReplicationFocus. If you’d like to know the current rate of a part, you can use the ReceiveAge property, because you can get the time it was updated.


Just released an update on both the github and the file download - a new function called ‘QueuePlay’. Docs:

Tween:QueuePlay(Yield [Boolean, optional], Player [Player Object, optional])

Add the tween to a tween queue which will start playing the queue automatically immediately after the previous tween on that instance completes. Behaves exactly the same way as Tween:Play() once started, except the initial firing of the tween is managed on the client. For this reason, best practice is to fire this event as close to when you would like it to be played on the client to maintain alignment between tweens. If fired multiple times in a short time frame, this may result in clients becoming out of sync over time.

Here it is in action (clientside), the red dots represent server side requests for queuing of a tween, and each tween is set to take 2 seconds. The dots build up as they are created once a second, while the tween takes 2.

The reason I added this is that if you want zero latency between tweens, this function provides that. Simply call it anywhere between when you start the first tween, and when you want the second tween to start, and it will start pending clientside, therefore when the first tween finishes, the second one instantly starts clientside without network lag.


This new function should fix that.


If I was to tween a SpotLight in its range, is it still possible to get it as smooth as if it was on the server.
I’m struggling to make it smooth using the module.


Theoretically this should be more smooth than server side tweening in some cases, could you send your code?