Run/walk GUI buttons for custom character not appearing

  1. What do you want to achieve?
    I want an emote list to appear, mainly a run/walk toggle for mobile users, but be a different list for every character. I don’t have the same animations for every character since they’re all so different.

  2. What is the issue?
    The GUI appears when its in StarterGui, but not when it’s parented to the character. It works on my other game where run and walk buttons appear but have different speeds scripted into them (one character is half as tall as the other, so I can’t have the same run button for everyone) the difference is that this time the buttons are in a scrolling frame

  3. What solutions have you tried so far?
    I tried making new buttons altogether but they don’t show up either. I’m not sure where else to parent the GUI buttons to besides startergui or the characters I have in replicatedstorage. If I need more context or something let me know and I’ll reply again!

Do you have any screenshots of the issue? I’ll try to recreate the issue so I can find a fix.

Yep! I’ll screenshot what I have and copy the code.

GAME 1:

code for the walk button:

script.Parent.MouseButton1Click:Connect(function()
	game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 12
end)

code for the run button:

script.Parent.MouseButton1Click:Connect(function()
	game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 24
end)

GAME 2:

The code is the same between these games.

I moved the scrolling frame out of the character in replicatedstorage to take the picture. When I spawn in as the character, the frame doesnt appear. It’s odd cause the buttons appear without a frame on the first game. Thanks for replying!

When you press play. Do any errors show up in the output?
Do you already have it to not show up if you aren’t on mobile?

It shows up and works on mobile and desktop in the first game. I think the problem in game 2 is the scrolling frame, but I do still want that frame. I can redo it to match the first one if there isn’t an easy fix. I think the scrolling frame would be good for doing emotes on mobile without clogging up the screen with separate buttons. When I get the chance, I’ll try to see if I can get game 2’s scrolling frame working with game 1’s character.

Are you forgetting to say the buttons should be visible? I see your code and it doesn’t have anything about making it visible. Is it not appearing anywhere?

image

That would have been a very embarrassing fix but that wasn’t it, sorry! I’m super new to scripting, so I’m not sure yet how I’d tell the script to make the frame visible. It appears and works in StarterGui.

I just now made the button that makes the emote window visible and invisible with two different buttons. Again, it only works in StarterGui.

Close button:
image

script.Parent.MouseButton1Click:Connect(function()
	script.Parent.Parent.Visible = false
end)

Open button:
image

script.Parent.MouseButton1Click:Connect(function()
	script.Parent.Parent.Emotes.Visible = true
end)

It looks like in game 2, you don’t even have text buttons, they look like labels to me.

OH sorry, yeah they’re buttons. I recorded some gifs of me using them as buttons.

example buttons

This one above is in StarterGui.

example buttons 2

And this one’s parented to the character, Flashman. It just doesn’t show up. I’m thinking of closing this thread off and trying to figure it out on my own or maybe just doing it a different way. I feel very silly > <

Sorry this is old, but you need to manually clone the GUI to the player’s PlayerGui when they spawn. The StarterGui waits for the character to spawn to replicate, even if ResetOnSpawn is false.