Parenting BillboardGui Adornee to Head does not work

Hello, I’m currently having an issue with setting the Adornee of a BillboardGui to the Head of a player’s character. It doesn’t work for some reason.

I have tried setting the Adornee to any other part within the Character and it works.

function player_data.OnCharacterAdded(player, character)
	local humanoid = character:WaitForChild("Humanoid")
	local head = character:WaitForChild("Head")
	local storage = workspace.player_headers
	
	local header = GuiStorage.player_header:Clone()
	header.Name = player.Name
	header.Adornee = head
	header.plr_name.Text = player.Name
	local size = getTextSize(header.plr_name)
	header.plr_name.Size = UDim2.new((size.x + 60)/275, 0, 0.25, 0)
	
	header.Parent = storage
end

There are no errors.

Here are some screenshots:

If I try and set the Adornee to Head, nothing happens.
Screenshot_2
Screenshot_3

If I try to set the Adornee to literally any part within the character
Screenshot_4

Any clue on why this is happening??

2 Likes

Instead of this try parenting it to the player’s head.

I have tried doing so, it doesn’t parent at all. But with any other part it does.

Else check the code they used here:

I think checking how other people handled it could be easier and better.
Basically what he does is:

  1. Does not set the Adornee
  2. Sets the parent of the gui to the Root (HumanoidRootPart, Character’s PrimaryPart)

That’s because you’re wearing headless head, it will work with any other head. You’ll need to modify the script to account for player’s wearing headless head.

That seems to be the issue, but I can’t find any solution to check whether the player is wearing headless or not. The head transparency does not change at all.

All faces add a decal to the head of the character, whereas headless does not.

if not character:WaitForChild("Head"):FindFirstChild("Decal") then --no face
	--do code
end
1 Like

Yeah, but on any other places I tried it works fine with and without headless. I don’t get it why here it doesn’t work for headless. There’s no code that would interfere with it.

Those games might be performing similar checks. I’ve seen others with this issue on the devforum too, not just you.

You could check for headless, then if they have headless parent the Billboard to the torso & then shift it slightly higher than usual.

There’s no checks for the headless, I have reviewed the code myself. Here’s the only difference I see between the two of them.

Headless:
Screenshot_1

Normal Head:
https://gyazo.com/98321b6d5bf0356e694ab7e85bf26d97

The normal head has a WrapTarget, probably a geometry type thing?

Notice how headless has no face decal but the normal head does?

Yeah, that’s a way to check whether its headless or not. But I have the same code in a different place and it works fine without having any checks for headless.

I have found the fix. All I had to do was add a task.wait() at the start of the function. :slightly_smiling_face:

5 Likes