Script:
local Model = script.Parent:WaitForChild("Model")
local Start = Model:WaitForChild("Start")
local End = Model:WaitForChild("End")
local Upgrade = Model:WaitForChild("Upgrade")
local TS = game:GetService("TweenService")
local TI = TweenInfo.new(
1,
Enum.EasingStyle.Sine,
Enum.EasingDirection.In,
0,
false,
0.1
)
local ToEnd = {
Position = End.Position
}
local ToStart = {
Position = Start.Position
}
local EndTween = TS:Create(Upgrade,TI,ToEnd)
local StartTween = TS:Create(Upgrade,TI,ToStart)
while wait() do
EndTween:Play()
wait(2)
StartTween:Play()
end
Explorer:Explorer Screen Shot
The part moving and then stopping: Moving GIF
It does not print anything

3 comments
I don't have enough experience in tweens to help you, but what I can offer is that you put a print function inside the loop that prints all the information that is being changed. It might help you find the problem yourself.
Try adding a wait(2) after StartTween:Play(), there's no waiting after that tween so the EndTween:Play() is almost immediately played afterwards.
yea... adding a wait(2) worked lol im so dumb, thank you