Details
Expansion
Categories
Developers
Having issues?
HideFriendlyNameplates
Friendly nameplates off. One slash command to bring them back. That is the whole addon.
In a crowded capital, a busy world boss, or anywhere a raid group is standing on top of you, friendly nameplates turn the middle of your screen into wallpaper. Turning them off in the options panel works — until the one moment you actually want them, and then it is four clicks each way. This puts it on /hfn.
No options panel, no dependencies, no configuration. It hides friendly nameplates at login and gets out of the way.
Commands
| Command | What it does |
|---|---|
/hfn | Toggle friendly nameplates |
/hfn hide | Hide them. Also what happens at login |
/hfn show | Show them again |
/hfn status | What is set right now |
/hfn debug | Which mechanism is actually doing the work |
/hfn method X | Switch a mechanism on or off: cvar, engine or frames |
/hfn announce | Stop or resume the chat line on toggle |
/hfn reset | Back to defaults |
on and off work as aliases for show and hide — they refer to the nameplates, not to the addon. /hidefriendlynameplates is there as a long form.
There is also a proper keybinding under Hide Friendly Nameplates in Options → Keybindings, if you would rather have it on a key than a command.
Built for Forever specifically
Forever is not retail, and its nameplate CVars are not retail's. nameplateShowFriendlyMinions, ...Pets, ...Guardians and ...Totems do not exist on this client at all, and a write to nameplateShowFriends is not guaranteed to be honoured by the engine.
So rather than bet the addon on one route, it applies three that do not conflict with each other:
- cvar — sets
nameplateShowFriendsandnameplateShowFriendlyNPCs, then reads each value back to confirm the write actually landed, instead of assuming it did. - engine —
C_NamePlate.SetNamePlateFriendlyPreferredAlpha, which skips the CVar layer entirely. Probed for existence first, so it is a no-op rather than an error where it is missing. - frames — hides each friendly plate as it spawns, on
NAME_PLATE_UNIT_ADDED.
/hfn debug reports what each one did on the last toggle — which CVars exist, whether each write took or was silently refused, whether the engine API is present, and how many plates are up. If one of the three turns out to be a no-op on your client, /hfn method <name> switches it off.
Secret values
Since 12.0 a lot of unit data arrives as an opaque secret that addon code cannot compare or branch on. UnitIsFriend is checked with issecretvalue before it is ever used as a boolean.
If it comes back secret, the plate is left alone rather than guessed at. That is deliberate: a wrong guess means hiding an enemy nameplate mid-fight, which is a far worse outcome than one friendly plate staying visible. Your own personal resource plate is skipped explicitly.
Combat
Nameplate CVars cannot be written while the client is in combat lockdown. A toggle you type mid-fight is queued and applied the moment you leave combat, and the chat line tells you that is what happened — rather than doing nothing and leaving you wondering.
It will not fight you
Flip Friendly Units in the Blizzard options panel, or let another addon change it, and CVAR_UPDATE picks that up and adopts it as the new intent. The addon will not snap the setting back at the next loading screen.
Your own settings are remembered, too. The first time it loads it records what your friendly-nameplate CVars were set to, and /hfn show restores those values rather than assuming defaults.
Known limitations
- No in-game options panel. There are eight slash commands and a keybinding; that is the configuration surface.
- Friendly plates only. Enemy nameplates are never touched.
- If
UnitIsFriendis secret for a given unit, that plate is left visible. The CVar and engine mechanisms do not depend on the friend test, so in practice this only matters if you have switched both of those off.
Bug reports
/hfn debug output plus the Lua error text, if there is one, are the two most useful things you can send. The debug dump is specifically built to answer "which mechanism is working on your client", which is the first question for anything nameplate-related on Forever.
You must be logged in to leave a comment.