Why wont the text button change

i have a help button and when u press help it says find the key but i want it where once u find the key and open the door the text changes to find the exit, under the function of the door opening i put Tc which is a variable for the button i want to change the text of and text1 is what i want it to change to so text1 = “hello” under the function i do Tc.Text = Text1 and it doesnt work any ideas

door script is

local doormodel = script.Parent
local text1 = “Find the door”
Tc = game.StarterGui.OpenCloseGUI.SoloImpossibleChapters.BackButton

local TweenService = game:GetService(“TweenService”)
local doorTweenInfo = TweenInfo.new(
1,
Enum.EasingStyle.Bounce,
Enum.EasingDirection.Out,
0,
false,
0
)

local leftDoorTween = TweenService:Create(doormodel.LeftDoor, doorTweenInfo, {CFrame = doormodel.LeftDoorOpen.CFrame})
local rightDoorTween = TweenService:Create(doormodel.RightDoor, doorTweenInfo, {CFrame = doormodel.RightDoorOpen.CFrame})

doormodel.Keyhole.BrickColor = doormodel.Key.Value

doormodel.Keyhole.Touched:Connect(function(hit)
if hit.Parent:IsA(“Tool”) and hit.Parent.Name == “Key3” and hit.brickColor == doormodel.Key.Value then
doormodel.Keyhole:Destroy()
leftDoorTween:Play()
rightDoorTween:play()
Tc.Text = text1
end
end)

I’m assuming this is a Local Script

You are using game.StarterGui, you need to use the PlayerGui service.

local Player = game.Players.LocalPlayer
local UI = Player.PlayerGui
local Tc = UI.OpenCloseGUI.SoloImpossibleChapters.BackButton

If you are using StarterGui then you are changing the internal starting GUI, therefore only new players will receive the change. You would have to rejoin the get the new text in the Text Button.

I agree with @D0omspire. game.StarterGui changes the stuff but the text will only be changed for the new players who joins after the text has been changed. If you want to change the text on the player’s screen use PlayerGui

like other people says, you’re trying to use StarterGui as a path to guis (stop)

change it to this:

game.Players.LocalPlayer:WaitForChild("PlayerGui")

when spawned, the guis will be drawn from StarterGui to PlayerGui, just test in studio and look into the explorer