My UI only shows in studio and not in-game (for players, not including me)

  1. What do you want to achieve? Keep it simple and clear!
    I want a certain people to have a special title in game. Practically just something above your head with a text.
  2. What is the issue? Include screenshots / videos if possible!

My issue is that the title only works in my head and not other peoples head. It also happened in studio, it only shows the title in my head but I am not sure why it does not work in others people head and I made sure that everything is well written but I still don’t know what to do.
An example would be like this:

Shows in game and in studio, but it does not show to other peoples head

  1. What solutions have you tried so far? Did you look for solutions on the Developer Hub?

I have tried using different variables, getting their IDs and everything but nothing seems to work out. And I didn’t find anything in the forum (im probably the most unlucky person)

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

Not much to say about this script, like I said, it’s a simple script that gives a title above your head with a custom text and color if it’s the right player.

local top1 = {
	ID = 3169900652,
	Text = "Best Staff 1",
	Color = Color3.new(1, 0, 0.0156863)
}

local top2 = {
	ID = 1596079193,
	Text = "Best Staff 2",
	Color = Color3.new(1, 1, 0)
}

local top3 = {
	ID = 672779126,
	Text = "Best Staff 3",
	Color = Color3.new(0.623529, 0.490196, 0)
}
game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		if plr.Name == "k6lnt" then
			local tag = script.exclusive:Clone()
			local text = tag.UpperText
			text.Text = top1.Text
			text.TextColor3 = top1.Color
			tag.Parent = char:WaitForChild("Head")
			print("top 1 is here")
		elseif plr.Name == "EXAMPLENAME" then
			local tag = script.exclusive:Clone()
			local text = tag.UpperText
			text.Text = top2.Text
			text.TextColor3 = top2.Color
			tag.Parent = char:WaitForChild("Head")
			print("top 2 is here")
		elseif plr.Name == "EXAMPLENAME2" then
			
			local tag = script.exclusive:Clone()
			local text = tag.UpperText
			text.Text = top3.Text
			text.TextColor3 = top3.Color
			tag.Parent = char:FindFirstChild("Head")
			print("top 3 is here")
		end
	end)
end)

also sorry for my bad english and my horrible scripting, im still learning

Is this script a normal script or a local script? Also, where is it located?

It’s a server script in the Serverscriptservice

Okay, I have a bit of a wild guess. Maybe the “CharacterAdded” event fires before the character ever replicates to other clients. Add a wait(3) before the if plr.Name == "k61nt" then line. Tell me if that makes it work. Also, does it ever print “top 1 is here”?

Can we see the structure you have for exclusive?

Is the UI owned by you? If so, is it in a group or your account. Is the game in a group separate from the ui or vice - versa? Or is it someone else’s ui. Because I did a commission for someone and some animations and ui did not load for me because he owned it on his account.

This was probably the weirdest solution in the entire forum but the ‘wait’ worked. Thank you so much!

1 Like

That’s good to hear but please use task.wait() if you haven’t already since it is much more efficient that using wait() because wait() is slower than task.wait() and wait() can sometimes cause performance issues. Main reason I am saying is it will benefit you and I have seen so much people still using wait() when I do commissions.

Not sure about the use but I will check it out, thanks for helping too!