Overhead GUI behaving weirdly when trying to make 2 different sizes

Problem that i’m having:

So, I’ve been trying to edit my headers to incorporate DisplayNames, and I wanted to make the player.name label a bit smaller than the other labels for mostly aesthetic reasons.

Snippet of code i’m working with:

	header.Label.Text = "Level ".. level.Value
	header.Label2.Text = "- ".. groupRole .. " -"
	header.Label3.Text = player.DisplayName
	if player.DisplayName == player.Name then
		header.Label4.Text = " "
	elseif player.DisplayName ~= player.Name then
		header.Label4.Text = "@"..player.Name
		header.Label4.Size = UDim2.new(5,0,1.5,0)
	header.Size = UDim2.new(5,0,2,0)

It’s the line for Label4 that i’m trying to work with and I thought something like that would work, but yielded weird results, I’ve tried messing with the values and it returned similar results. Am I doing something wrong?

Assuming that header is the BillboardGui then make header.StudsOffset = (0,2,0)

So for header.Label4.Size = ect. ect.
it should be instead:
header.Label4.StudsOffset = (0,2,0)?

No just make a separate line of code that says
header.StudsOffset = Vector3.new(0,2,0)

I made a mistake look at the post I edited. ^

When I tried that line, it made everything disappear :>

Actually typed it in wrong, however it didn’t solve the issue

EDIT: Turns out just literally having that UDim2 line regardless of any values set is causing it under header.label4.Size. So idk how i’m supposed to change the size of it

You can try to use this Open source customizable name tag you can modify it to your liking.

I ended up playing with much smaller values of UDim2 until it actually worked how I wanted it to, turns out that was all I needed to do.