You are setting the gui in StarterGui to visible, StarterGui is where all the guis are cloned to players from when they join the game, changing anything there wont change stuff on your screen. To properly change the guis you need to reference PlayerGui by doing: game.Players.LocalPlayer.PlayerGui, however you can just get to the shop ui by doing: script.Parent.Parent.Parent.ShopUI.