When you’re getting open.Size.X/Y you’re getting both Scalar and Offset
instead of vector2 do UDim2.new(open .Size.X.Scale * 1.5,0,open.Size.Y.Scale*1.5,0)
Also use TweenService Create over TweenSize/Position.
ex:
local myTween = TweenService:Create(open,TweenInfo.new(0.2),{Size = UDim2.new(open .Size.X.Scale * 1.5,0,open.Size.Y.Scale*1.5,0)})
myTween:Play()
Size.X gives you an UDim2 value that has both scale and offset, use X.Offset or X.Scale instead
Also since your tween will always end up at a specific point you dont need to define open.Size again.
local open = script.Parent
local dPosX = open.Size.X.Offset
local dPosY = open.Size.Y.Offset
open.AnchorPoint = Vector2.new(0.5,0.5) -- maybe you should just set the anchorpoint manually, no need to put this in a script unless you are changing it.
open.MouseEnter:Connect(function()
open:TweenSize(Vector2.new(dPosX * 1.5,dPosY * 1.5), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.1)
end)
open.MouseLeave:Connect(function()
open:TweenSize(Vector2.new(dPosX * -1.5, dPosY * -1.5), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.1)
end)
A 1.5 multiplier means you’re increasing its size by your screens entire resolution almost twice.
I recommend you resize your UI to what you want it to be as in studio mode and then changing the udim2 values to what you have.