As a Roblox developer it is impossible to fully replicate the effect of the Humanoid nametag with BillboardGuis without implementing things Roblox has already done. There is no way to prevent BillboardGuis from clipping into parts, which is something that never happens with Humanoid nametags because they display AlwaysOnTop with occlusion behavior.
I am trying to create a custom nametag but it is possible for players to wedge themselves into certain places where their nametag is clipping into parts or is no longer visible.

Turning on AlwaysOnTop is undesirable because players should not be able to always see each other through walls, and I do not want to have to do an occlusion check myself by firing rays towards every single character to figure out if they are visible because this can be expensive. I assume Humanoid code is more performant because it can do these raycasts without crossing the Lua bridge.
Humanoids already do this logic to show the nametag, I should not have to reimplement it. I should be able to pass an instance or model as a property of the BillboardGui, and if it becomes sufficiently occluded, the BillboardGui should disappear. Alternatively, there should be a setting to enable occlusion, where if the adornee becomes occluded, the BillboardGui should disappear.
34 Likes
Hi @PeZsmistic - thanks for the feature request! We agree this would be a useful feature to expose to developers. We’ve created a ticket to look into your request.
7 Likes
Any updates on this? Would be a very helpful feature.
1 Like
Hi @MentallyDisturbedNub thanks for updating this post. We still have this older ticket in our backlog, but it is lower priority for us unfortunately.
That being said, just so I understand - the request is basically for something similar to AlwaysOnTop but with occlusion support so that billboards from occluded players are not visible. Does that sound correct?
If we can get enough vocal support from community on this request, we could find ways to make this higher priority 
Yes please. I myself would find something like this very useful. This would basically affect all custom BillboardGuis that display stats of some sort of items & more. For my current usecase, I’m trying to create a health bar for objects, yet my two options are either having the health bar get occluded by the object that the health bar is supposed to be on, or having the billboardGui be set to AlwaysOnTop, which would just make the health bar of some random brick at the corner of a building visible to anyone within a 10 kilostud radius. Just not what I need. And obviously many would find their own use in this.
Essentially what would be required is support for selected AlwaysOnTop behaviour, so that you could pick which instances the GUI would be on top of (at least for the adornee). The roblox character, as mentioned before, already has something similar to this, with the character not occluding the name tag of the humanoid, yet the surrounding world doing so.
It would also be cool if you could configure which instances the GUI would not be on top of, so essentially a way to exclude certain instances from being able to have the GUI be on top of them, if that makes sense. But I can’t think of as many use-cases for that as I can for what I previously said.
1 Like