Why does TweenService exist?

Honorable mention for best reply

1 Like

DIdn’t give me Beziers, thats what it did

The worst take fits the worst topic.

Why did you even make this topic?

Just don’t write game:GetService("TweenService") in your scripts and that’s it. Problem solved.

The worst take is don’t respond at all

Your response to why do we use a service to do something instead of another format, is “if you don’t like it, don’t use it”

I didn’t make the post because I wanted to rant, I made it to get answers and bring awareness.

3 Likes

The service executes actions in a separate thread, it’s pseudo multi threading, allowing the script execution to continue while the service does it’s work on a separate thread.

1 Like

Services are Instances, and they have a lot more underlying logic and functionality compared to Luau Libraries, notably, they are directly integrated with the Engine and can fully take advantage of features like creating Instances. Luau Libraries are primarily for manipulating “first-class” datatypes, i.e. strings, numbers, tables and functions, so I would presume it would have been more difficult to make it a library, or maybe it would simply have stuck out like a sore thumb compared to the others.

What service do you think could have benefited from a Tween creation API instead?

Tween is yet another Instance, and it being one allows it to take advantage of another Engine feature: Task Scheduling, allowing it to update every frame. TweenInfo is a Roblox datatype, and literally just a table with some extra protections to make sure you can’t assign to invalid keys. It has no real “computation”, it just holds some data.

Maybe. There is that new thing called SmoothDamp though:

2 Likes

Why does this topic exist?

1 Like

hey spiderman can you delete this topic because asking why tween service exists is dumb lol

answers to your question:

To make people mad ig. Rage bait.

2 Likes

I agree its a bit weird that tweeninfo is a global, would make sense that you would need to import tween service, to then get tweeninfo. For instance like

local tweenService = game:Getservice("TweenService")
local ease = tweenService:TweenInfo(atr1, atr2, atr3)
3 Likes

To smoothly change values from one number to another :nerd_face: :point_up_2:

2 Likes

Tweenservice is one of the best services to ever exist, I don’t care what you say spiderman.

1 Like

I’m pointing out that the engineers could have made almost anything something developers had to make themselves. The reason Roblox is a very easy game engine to use is because you don’t have to develop complex systems, like the ones I mentioned, to make a functioning game. TweenService is one of those systems you don’t need to make yourself, and it’s one of my favorites! You could make a better one in theory, but having one built-in is also good for sustainability, and ease of use.

yet i never use it :pensive:

I only use it for UI to be honest, mostly never for objects. Maybe if I had a door possibly, but hinges would look better.

Still, I think Donald, Sheriff, and Omega summarize how some others feel about this post.

“This service doesn’t do exactly everything I want, therefore it is useless and has no reason to exist”

3 Likes

I think you mean Interpolation is the best thing to ever exist

I only use lerps when I need to loop.

It does one thing, and it restricts that one thing to the styles it gives you