Put simply, enemy nametags should only be visible when you're standing close, or right next to, an enemy.
I have no problems with how ally nametags work, this makes sense, but showing enemy nametags currently serves no purpose other than to completely thwart most attempts at being sneaky, to ruin immersion, and to make PvP actively worse.
If you approach an enemy ship, even if you swim on the seabed and then swim upwards, chances are the enemy is going to see your nametag even if they can't see you in the water, and that's the whole operation blown. This is horrible design.
Inversely, there are also times where an enemy has attempted to stealth-board my ship but I've seen their nametag, which just completely ruins the potential interaction.
I should have to listen out to someone coming out of the water with the "sploosh" noise to detect their presence, not just accidentally see their nametag.
There are also times where I have been PvPing on an island hunting down a player who is hunting me, only to have the experience ruined because I've seen their nametag and know exactly where they are. That's not fun.
Not only this, but as a streamer who enjoys stowing away on other ships, I'm now falling victim to trolls in my Twitch chat messaging the enemy on Xbox (since nametags are visible from such a distance) telling them where I am.
At the very least you could introduce a filter option to make it so that nametags don't show gamertags, but rather show generic pirate names in their place. This would at least eliminate the stream-sniping problem, but the enemy nametag visibility definitely needs to be addressed as well. It just currently ruins a lot of potential fun/tense moments.
