You can learn about server-side and client-side here:
Basically, normal Scripts
are treated as Server-Side, and LocalScripts
are treated as Client-Side.
Server-Side does not have enough performance to process large calculations in a short period while Client-Side does (Client-Side performance depends on your PC’s performance).
Tweening positions and rotations of object(s) costs a lot of performance, and here’s why:
- It contains lots of information such as; ancestry of the object, goal to be achieved, et cetera.
- It updates 60 times per second (since ROBLOX is based on 60 FPS, and tweening is meant to be smooth).
As I said above, Server-Side does not have enough performance to hold information that is being received 60 times per second.
To solve this problem, take a look at the quote above. You can tween on Client-Side, which its performance is based on your PC’s performance (MUCH better than Server performance even if it’s not decent).
BUT, if you do the tweening on Client-Side, there goes another problem: The change of information(Position, Rotation, etc) is only applied on Client-Side, not the Server-Side.
You can also solve this problem by lowering the updating frequency of position update and applying to Server(You can simply think it’s tweening, but super laggy).
.
And please don’t be sorry or hesitate to ask things here, everyone’s here to ask and answer questions.