The default value of Humanoid.NameOcclusion has been changed from NoOcclusion to OccludeAll. This means that any place that does not specifically set the NameOcclusion property will now only show nametags for avatars that you can see.
No more nametags through walls on every game you go to.
If this causes a problem with your games’ mechanics, you can manually set players’ Humanoids’ NameOcclusion back to NoOcclusion.
With default, you mean that when a Humanoid is instantiated, its NameOcclusion is (now) set to OccludeAll? (I can’t think of any other way, but still, can’t hurt asking)
I’ve posted a thread one where I used something similar for a cloaking field.
By using LocalTransparencyModifier on every client, I could become invisible for them. (but not me)
Had to use the “NameDistance” and “HealthDistance”, else you saw a name in thin air… nut gud
Although I agree that this was the right thing to do, it would have been better to tell people you were going to do it first so that they could update their games in preparation.
This is a bit of a strange statement. Nothing is going to be “broken” (i.e. scripts not working) by this because it’s a change that only affects the user interface (whether or not you can see names through walls by default), but this can still significantly influence a game that is based on the fact that you can see names through walls, so it could have been reported earlier.
For anyone reading this that can’t script or doesn’t know how to fix it themselves, put this in a Script in ServerScriptService or Workspace:
game.Players.PlayerAdded:connect(
function(player)
player.CharacterAdded:connect(
function(character)
character:WaitForChild("Humanoid").NameOcclusion = Enum.NameOcclusion.NoOcclusion
end
)
end
)
PS: @Stickmasterluke This would be the perfect opportunity to turn NameOcclusion into a member of StarterPlayer, so that it can be set in a less roundabout way. (HealthDisplayDistance and NameDisplayDistance are also members of StarterPlayer and they perform a similar task that only affects the interface.)
Can you give an example of game that is dependent on seeing player names through walls? I personally have never seen it, and I find it unlikely for anyone to rely on such a mechanic. And even if they did, it’s a quick fix. I just don’t see the significance of pushing this change forward a few days so everyone will know about it.
As I pointed out it’s not a very trivial fix, you need to connect to the CharacterAdded event and then change it manually. I would agree with you if it was just a toggle somewhere in StarterPlayer but it’s not. (And not everyone reads this forum daily and may be wondering why their game suddenly changed behaviour)
Are you saying just putting a some additional lines of code in your game is hard work? It is a trivial fix. If you’re a successful developer you should know your way around the API, and certainly be able to find out how to solve the problem on your own.
We already have a NameOcclusion property. It’s going to bloat the API if we were to add something like that. And I can imagine that would cause way more confusion when their NameOcclusion property isn’t doing anything.
Well that goes for anything, doesn’t it? Oh my, the GUI in my game is different! I haven’t been checking the news! What do I do???
It’s not like it’s worthy of a blog post, or other major outlet with such a small change. This is the ideal place for it to be posted. Developer information. If something’s new or different, this is the place to check out.
Eh, I feel like you’re blowing what I said a bit out of proportion now. I just agreed with @Brad_Sharp that they could have posted it here a couple of days earlier so that people could prepare for it if it affects their game. (Aside from that, there are already several properties of Humanoid in StarterPlayer that are set when the player spawns, so this would not be a strange addition to the API. It would allow for the exact same short-cut that exists for NameDisplayDistance and HealthDisplayDistance.)
I liked being able to see where people are through walls. Like in roleplay places, tycoons, et cetera, for locating my friends. It was actually rare for a game to use OccludeAll unless it was specifically for gameplay, like shooter games and hide & seek games.
A lot of us like it, and have grown accustomed to locating players through walls, but as a general default for new and generic games, occluding name and health tags looks and feels much better than having wallhacks.