Using tweenposition and tweensize on the button resets all of its position and size values to 0 while tweening and then sets them to the goal value and the end, what happening? Look in the properties tab at the button’s position/size.
-- opening tween
TweenService:Create(InventoryFrame, invFrameTweenInfo, {
AnchorPoint = Vector2.new(InventoryFrame.AnchorPoint.X, 1)
}):Play() -- inventory tween
OpenBtn:TweenSize(UDim2.new(1, 0, 0, 32), nil, Enum.EasingStyle.Cubic, 0.3, true)
OpenBtn:TweenPosition(UDim2.new(0.5, 0, 0, 0), nil, Enum.EasingStyle.Cubic, 0.25, true)
-- closing tween
TweenService:Create(InventoryFrame, invFrameTweenInfo, {
AnchorPoint = Vector2.new(InventoryFrame.AnchorPoint.X, 0)
}):Play() -- inventory tween
OpenBtn:TweenSize(UDim2.new(0, 128, 0, 32), nil, Enum.EasingStyle.Cubic, 0.3, true)
OpenBtn:TweenPosition(UDim2.new(0.5, 0, 0, -8), nil, Enum.EasingStyle.Cubic, 0.25, true)
These are the only tweens affecting these UIs.