How would I make my GUI get bigger from the centre, instead of the corner?
hmm The only way I would think is to move it into middle then expand it on the side then move it back into the middle
TO ILikePie2100 your answer is okay, but I learned a new way recently. Try using the Tweening functionality that Roblox has added. This allows for both position and size updating, even having one function to do both. Tweening is also known as "In Betweening". Tweening is much more efficient than using UDim2.new() and makes the gui movements look superb and professional. Below is a sample of tweening only using a position function.
gui:TweenPosition(UDim2.new(0, 500, 0, 500))
This code will take a variable names gui and move it smothly to the position of 500 xand 500 y, starting from it's original position that was designated in it's properties.
There are more variables to the positon and size, such as adding a bounce effect and how long it takes to complete the tween. The below code demonstates a bounce once it reaches it destination.
gui:TweenPosition(UDim2.new(0, 500, 0, 500), "Out", "Bounce")
There is also the functionality to resize it using tweening. The below code does a simple movement to grow to a 50x50 square.
gui:TweenSize(UDim2.new(0, 50, 0 ,50))
This will grow until it hits a 50x50 square.
Another thing you can do is very similar to the position. I believe this allows for the same variables including the bounce and time. Try experimenting with this and research more as I am currently using a computer with limited sites, sadly blocking the roblox wiki.