Let's start with the root of the problem.
First off, after tweening you use wait(1).
The only issue there, is that, like I said before, Tween does not yield. This means that you need to match it with the time it takes to tween.
The arguments of TweenSize are as follows:
UDim2 endSize, EasingDirection easingDirection = Out, EasingStyle easingStyle = Quad, float time = 1, bool override = false, Function callback = nil
As you can see by this code, 10 is the time.
1 | script.Parent.Loading:TweenSize(UDim 2. new( 1 , 0 , 0 , 100 ), "Out" , "Back" , 10 ); |
This means the wait(1) should be wait(10).
Hope this helped, ask me if you have any further issues or post on scripting helpers.