the localscript checks if there is a controller in use or something but, when I have my controller already plugged in, it doesn't appear, but when I unplug and plug it back in, it's visible, I don't understand...
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local UIS = game:GetService"UserInputService"
UIS.GamepadEnabled:Connect(function()
print("gamepad detected")
script.Parent.YButton.Visible = true
script.Parent.HoldLabel.Visible = true
end)

3 comments
Where would I put these "GetGamepadConnected(UserInputType gamepadNum)" or "GetConnectedGamepads()"?
One way you could do it is create a function
enableGamepadUI()that sets the YButton and HoldLabel to visible, and connect that function to the GamepadEnabled event. Then, use the function to check if the gamepad is already connected, and if it is, then call the enableGamepadUI function created earlier.I figured it out, thank you!