If a settings guide for Forever has told you to type something like /console cameraDistanceMaxZoomFactor 2.6, you’ve probably wondered what else sits behind that console, which of the commands in older guides still work on Forever, and how to put things back if one of them makes your game worse. This guide goes through every console variable worth changing on a druid, grouped by what it’s for, as the companion to the day-one settings guide, which covers everything you can change from the menu.
Whilst I’ve been typing console commands into this game since vanilla, Forever’s client is the modern one with its own renames and removals, and I haven’t run every command below on the live servers yet. The guide was first written before launch from the beta client and updated for the live game on 7 November 2026. Every name, default and saved location in the tables is checked against the client’s own variable list, but code can’t tell you how far the camera really goes or what a variable looks like on screen, so anything resting on retail, Classic or the beta says so, in the sentence or in the table.
Before we start
A console variable (CVar for short) is essentially a named setting the game keeps, most of which the options menu changes for you behind the scenes, and some of which have no box in the menu at all. You change one by typing a command into chat, and nothing in this guide needs an addon. It does assume you’ve been through the first phase of the settings guide, because where a menu option exists it’s the better place to change a setting, and the tables say so.
Every command below is written the same way, as shown below:
/run SetCVar("cameraDistanceMaxZoomFactor", 2.6)
In this case the name goes in the first pair of quotes and the value after the comma. You might see the shorter /console cameraDistanceMaxZoomFactor 2.6 elsewhere, and it works for most variables, but a good number of the ones a druid cares about (autoUnshift, mouseover casting and the key-press settings among them) are marked secure in the client’s variable list (build 70532). A secure variable is one the game guards, and on retail /console can’t set one at all and nothing can set one in combat. The /run SetCVar form works for both kinds out of combat, so this guide uses it for everything. Most nameplate variables are secure as well, so do all of this standing in town.
To check what a variable is set to, and what its default is, use these two:
/dump GetCVar("SpellQueueWindow")
/dump GetCVarDefault("SpellQueueWindow")
To put any variable back to its default, use the same pattern every time, as shown below:
/run SetCVar("SpellQueueWindow", GetCVarDefault("SpellQueueWindow"))
Notably, the Warcraft Wiki warns that /console cvar_default (it’s in the client’s variable list) run without a name after it resets every variable in the game, every one of your options included, so always give it a name, or use the pattern above and never think about it.
A few of these settings are saved per character, which means setting them on each druid, and the tables mark those. The client’s variable list marks most of the rest as saved to your account and the graphics ones as saved on your computer only. Three things about saving rest on retail, that with synchronizeConfig on (the setting that keeps your options on Blizzard’s servers) they follow you to another computer, that changes are only written when you log out or type /reload, so a crash straight after a change means setting it again, and that a client patch keeps your values. The defaults are from that list at build 70532, the newest one published, and the launch client’s interface code (build 70790) changes none of the variables in this guide.
Anything stated plainly below is backed by the launch client’s own code, Blizzard’s notes or a named source. Anything resting on retail, Classic or the beta says so, in the sentence or in the table’s Checked against column.
Without other people’s work this guide would be guesswork. Gethe’s mirror of the launch client’s interface code (build 70790) and the variable list in Ketho’s BlizzardInterfaceResources are where nearly every fact in the tables comes from, the Warcraft Wiki’s complete console variable list gives the retail defaults to compare against, and Stanzilla and the Advanced Interface Options contributors keep the index we all look things up in. Dmitro at Conquest Capped tested the graphics variables on the beta, and Cory and Xanarrissa on the Blizzard forums were the first to post what the camera would accept on the beta.
The four to look at first
If you only look at four, make it these, and the first matters more for a druid than for any other class, because a druid answers most problems with a shift, and a shift you can’t press in time doesn’t help.
- The spell queue window,
SpellQueueWindowis how early, in milliseconds, the game lets you press your next spell before the current cast or global cooldown ends and still have it go off on time. The launch client’s default is 400, the most retail lets you set, and the trouble with 400 is that whatever you pressed in that window is locked in, so if you queued a Wrath and a Warrior starts his charge, the Wrath goes off before your Bear Form does. The rule most people on the forums use is your ping plus about 100, whilst Xerwo at Maxroll argues for no less than ping plus 200 or leaving it at 400 (fair for a PvE healer who never cancels anything), and this guide recommends going lower for a druid. Balance and Restoration in PvE can sit at 300 to 400, and Feral and anyone in PvP at ping plus 80 to 120, and your ping is the world figure under Latency when you hover the Game Menu button (that’s from the launch client’s code), so a player in North America on 30 ms would set about 130 to 150, one in Australia on a US realm at 180 ms about 280 to 300, and the 250 in the table’s command suits 150 ms. Never go below your ping, or every spell starts late (Kennie’s warning on the forums that 0 breaks your rotation is right). One catch for Bear, queueing an on-next-swing ability (Heroic Strike, Cleave, Raptor Strike) disabled the queue window in a beta known issue still open on 8 October and missing from the live list of 5 November, so with Maul, the same kind of ability, it’s safer not to rely on queueing a global behind it. - The camera,
cameraDistanceMaxZoomFactorsets how far you can zoom out, and the recommended setting is 4. The launch client’s slider only goes from 1.0 to 2.0, so anything further is console-only, and moving the slider again may pull it back under 2. Nobody has measured where the live client stops, but beta players reported 3.34 and 4.0 being accepted, which would match Classic’s 50 yard cap rather than retail’s 39, and as on retail and Classic the client should clamp 4 to whatever its limit is. If you’d rather stay inside a known number, 2.6 is retail’s cap and the safe minimum. - Nameplate distance,
nameplateMaxDistancesets how far away nameplates show, Forever has no slider for it, and its launch default is 45 yards, with a separatenameplatePlayerMaxDistancefor players that defaults to 40, both saved per character. As the figure below shows, that’s already past your spells and more than double Classic’s 20 yards of 2019, so check it on each druid rather than change it. Read both with/dump GetCVar("nameplateMaxDistance")and the same for the player one, and if either comes back lower (an addon or an old setting can change it), set it back to 45 or 40. Whether Forever lets you go past them, and whether a higher value survives a relog, nobody has reported yet. - Leaving autoUnshift on,
autoUnshiftmakes a caster spell pressed in Cat or Bear drop the form and cast, which is how off-healing in form works, and it’s on by default, so if a heal in form ever fails to drop the form, read it with/dump GetCVar("autoUnshift")and set it back to 1.
How far each one reaches.
The nameplate and camera distances from the four above, in yards from your druid, set against a 30 yard spell.
Drag the diagram sideways to see all of it.
Read against the 30 yard line, both plates already reach past anything you can cast, so the camera is the one worth pushing.
Camera
Most of the camera variables have a box in Options > Gameplay > Controls, and where they do, the menu is the better place to change them. The zoom is the exception, and the ActionCam settings are best left alone in PvP.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
cameraDistanceMaxZoomFactor/run SetCVar("cameraDistanceMaxZoomFactor", 4) | 4. Everyone. 2.6, retail’s cap, if you’d rather stay inside a known number | How far the camera can zoom out. | 1.0, the slider’s minimum | Account | Launch client code, beta reportsThe default and the 1.0 to 2.0 slider are from the launch client code. The cap past 2.0 rests on beta reports. |
cameraSmoothStyle/run SetCVar("cameraSmoothStyle", 0) | 0. Everyone, use the menu | Camera Following Style. 0 never adjusts the camera behind you. | 4 (only when moving) | Account | Launch client code |
cameraYawMoveSpeed, cameraPitchMoveSpeed/run SetCVar("cameraYawMoveSpeed", 180) | Taste. Use the Mouse Look Speed slider, which keeps pitch at half of yaw | Horizontal and vertical mouse-look speed. | 180, pitch 90 | Account | Launch client codeThe slider sets pitch to half of yaw. |
cameraTerrainTilt/run SetCVar("cameraTerrainTilt", 0) | 0, the default. Everyone | Follow Terrain, tilts the camera with the ground. | 0 | Account | Launch client code |
cameraBobbing/run SetCVar("cameraBobbing", 0) | 0, the default. Everyone | Head Bob. | 0 | This computer | Launch client code |
cameraPivot/run SetCVar("cameraPivot", 1) | 1, the default. Everyone | Smart Pivot against terrain when zoomed in. | 1 | Account | Launch client code |
cameraWaterCollision/run SetCVar("cameraWaterCollision", 0) | Taste. 1 takes the camera under the water with you in Aquatic Form, 0 keeps it above the surface | The client’s tooltip says it sets the camera above water when you’re above water and below water when you’re below. 0, the default, keeps it above. | 0 | Account | Launch client codeThe tooltip is in the client’s strings. |
cameraIndirectVisibility/run SetCVar("cameraIndirectVisibility", 1) | 1, the default. Everyone, forest zones most | Lets the camera pass through trees and small props instead of snapping in. | 1 | Account | Launch client code, retailThe name and default are from the launch client code. What it does is from retail. |
cameraIndirectOffset/run SetCVar("cameraIndirectOffset", 10) | 6 to 10. Taste | How far the camera sees through objects before colliding. | 6 | Account | Launch client code, retailThe name and default are from the launch client code. What it does is from retail. |
cameraFov/run SetCVar("cameraFov", 90) | Leave it at 90, the default and already the maximum | Field of view. | 90 | This computer | Launch client code, retailThe default is from the launch client code. That 90 is the maximum is from retail. |
CameraKeepCharacterCentered/run SetCVar("CameraKeepCharacterCentered", 1) | 1, the default, unless you want ActionCam | Motion sickness option that keeps your character centred. | 1 | Account | Launch client code |
ActionCam/console ActionCam off | Off, the default, for PvP. basic is fine for screenshots | A command, not a variable, that sets the over-the-shoulder and dynamic pitch cameras. | Off | This computer | Client variable list, retailThe command is in the client’s variable list (build 70532), and the variables it sets are saved on this computer. What it does is from retail. |
Combat and input
This is the group that changes how your keys behave, and seven of its variables (autoUnshift, ActionButtonUseKeyDown, ActionButtonUseKeyHeldSpell, enableMouseoverCast, showTargetOfTarget, SoftTargetInteract and SoftTargetEnemy) are secure, so set them with /run SetCVar out of combat.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
SpellQueueWindow/run SetCVar("SpellQueueWindow", 250) | Your ping plus about 100. Feral and PvP lower, Balance and Resto PvE higher | How early, in milliseconds, you can queue the next spell. | 400 | Account | Launch client codeMaxroll argues for leaving it at 400. |
autoUnshift/run SetCVar("autoUnshift", 1) | Leave it at 1, the default. Every druid, it’s how off-healing in form works | Casting a caster spell in Cat or Bear drops the form and casts it. Secure. | 1 | Account | Launch client code |
autoSelfCast/run SetCVar("autoSelfCast", 1) | 1, the default. Everyone. Per character, so check it on each druid | A friendly spell with no friendly target lands on you. | 1 | Character | Launch client code |
enableMouseoverCast/run SetCVar("enableMouseoverCast", 1) | 1. Resto most, and handy for Roots and Hibernate | Spells go to the unit under your cursor without macros. Secure. | 0 | Character | Launch client code |
ActionButtonUseKeyDown/run SetCVar("ActionButtonUseKeyDown", 1) | 1, the default. Everyone | Abilities fire when you press a key, not when you let go. Secure. | 1 | Account | Launch client code |
ActionButtonUseKeyHeldSpell/run SetCVar("ActionButtonUseKeyHeldSpell", 0) | 0, the default. On retail a held form key can loop you in and out of a form | Press and Hold Casting. Secure. | 0 | Account | Launch client code, retailThe name, default and menu option are from the launch client code. The form loop is from retail. |
deselectOnClick/run SetCVar("deselectOnClick", 0) | 0, the default. Everyone, PvP most | The reverse of Sticky Targeting. 1 lets a click on the ground clear your target. | 0 | Account | Launch client code |
stopAutoAttackOnTargetChange/run SetCVar("stopAutoAttackOnTargetChange", 1) | 1 for PvP, whatever your spec. 0 for Feral PvE | Stops auto attack when you change target, so you don’t wake a Hibernate. | 0 | Character | Launch client codePer character. |
SoftTargetInteract/run SetCVar("SoftTargetInteract", 3) | 3, with the Interact Key bound. Everyone, herbalists most | The Interact Key’s target. 3 is always on. Secure. | 1 (gamepad only) | Account | Launch client code |
SoftTargetEnemy/run SetCVar("SoftTargetEnemy", 1) | Leave it at 1, the default, which keeps enemy soft targeting to a gamepad, so on a keyboard a stray Moonfire can’t break your own crowd control | Action Targeting. The client’s help text gives the values as 0=off, 1=gamepad, 2=KBM, 3=always. With 3, a spell with no target should hit the enemy you’re facing. Secure. | 1 (gamepad only) | Character | Launch client code, retailThe values and default are from the launch client code. What 3 does to a spell with no target is from retail. |
SoftTargetFriend/run SetCVar("SoftTargetFriend", 0) | 0, the default, for Resto on a keyboard, so mouseover and self cast stay predictable | Friendly soft targeting for heals. | 0 | Character | Launch client code |
autoLootDefault/run SetCVar("autoLootDefault", 1) | 1 whilst levelling | Auto loot. Shift reverses it. | 0 | Account | Launch client code |
interactOnLeftClick/run SetCVar("interactOnLeftClick", 0) | Taste, 1 (default) or 0. Off leaves interacting to right click and the Interact Key | Left click interacts with NPCs and objects. | 1 | Account | Launch client code |
lossOfControl/run SetCVar("lossOfControl", 1) | 1, the default. Everyone, PvP most | The loss of control alert, with the effect and time left. | 1 | Character | Launch client code |
showTargetOfTarget/run SetCVar("showTargetOfTarget", 1) | 1. Everyone, Bear and Resto most | The target of target frame. Secure. | 0 | Account | Launch client code |
occludedSilhouettePlayer/run SetCVar("occludedSilhouettePlayer", 1) | 1. Everyone | Shows your outline behind objects. | 0 | Account | Launch client code |
doNotFlashLowHealthWarning/run SetCVar("doNotFlashLowHealthWarning", 1) | 1 for Bear tanks. Taste otherwise | Turns off the red low health flash. | 0 | Account | Launch client code |
comboPointLocation/run SetCVar("comboPointLocation", 1) then /reload | Leave it at 1, which is already the default | Where combo points show. 1 is your target’s frame, the Classic place, 2 is your own. | 1 | This computer | Launch client codeThe name, default and values are from the launch client code. Where the points show next to the new Cat combo bar isn’t in the code. |
showSwingTimer/run SetCVar("showSwingTimer", 1) | 1 for Bear and Cat. Use the menu | The built-in swing timer. | 0 | Account | Launch client codeAdvanced Options and Edit Mode. |
cooldownViewerEnabled/run SetCVar("cooldownViewerEnabled", 1) | 1. Everyone. Use the menu | The Cooldown Manager. | 0 | Character | Launch client codeBlizzard notes. |
ShowAllSpellRanks/run SetCVar("ShowAllSpellRanks", 1) | 1 for Resto and anyone downranking heals | Shows every rank in the spellbook. | 0 | Account | Launch client code |
autoDismountFlying/run SetCVar("autoDismountFlying", 0) | Leave it at 0, the default | Dismounts before casting whilst flying. Travel Form is a form, not a mount, so by that description it shouldn’t touch it. | 0 | Account | Launch client codeThe name, default and description are from the launch client code. How it treats Travel Form isn’t in the code. |
Nameplates
Forever uses the newer nameplate system from retail’s Midnight expansion, and several of the names older guides give you have been replaced. Class colours are now nameplateShowClassColor rather than ShowClassColorInNameplate, and nameplateMotion isn’t in the client’s variable list (build 70532) at all. Stacking should be the Stack Nameplates box in the menu instead, but the launch code only shows that box when its own variable exists, so it may not show on live at all. Most nameplate variables are marked secure, so set them in town.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
nameplateMaxDistance/run SetCVar("nameplateMaxDistance", 45) | Leave it at 45. Set it back if live is lower | How far away nameplates show. No slider on Forever. Secure. | 45 | Character | Launch client codeThe default of 45 is from the launch client code. Whether it goes higher isn’t known. |
nameplatePlayerMaxDistance/run SetCVar("nameplatePlayerMaxDistance", 40) | Leave it at 40. Set it back if live is lower. PvP | How far away player nameplates show. Secure. | 40 | Character | Launch client codeThe default of 40 is from the launch client code. Whether it goes higher isn’t known. |
nameplateShowEnemies/run SetCVar("nameplateShowEnemies", 1) | 1. Everyone | Enemy nameplates. | 0 | Account | Launch client code |
nameplateShowAll/run SetCVar("nameplateShowAll", 1) | 1, the default. Everyone | Plates out of combat as well as in. | 1 | Account | Launch client code |
nameplateShowClassColor/run SetCVar("nameplateShowClassColor", 1) | 1 for PvP | Class colours on enemy player plates. | 0 | Account | Launch client code |
nameplateShowFriendlyClassColor/run SetCVar("nameplateShowFriendlyClassColor", 1) | 1 if you use friendly plates | Class colours on friendly player plates. | 0 | Account | Launch client code |
nameplateShowEnemyPets/run SetCVar("nameplateShowEnemyPets", 1) | 1 for PvP. Hibernate works on Beasts, so a Hunter’s pet is a target | Plates on enemy pets. | 0 | Account | Launch client code |
nameplateShowEnemyTotems/run SetCVar("nameplateShowEnemyTotems", 1) | 1 for PvP. Grounding Totem eats your Roots, Hibernate and Moonfire | Plates on enemy totems. | 0 | Account | Launch client code |
nameplateShowEnemyGuardians, nameplateShowEnemyMinus/run SetCVar("nameplateShowEnemyMinus", 0) | Guardians 1 in PvP. Minus 0 whilst levelling | Guardians, and trivial mobs. | 0, 0 | Account | Launch client code |
nameplateShowFriendlyPlayers/run SetCVar("nameplateShowFriendlyPlayers", 1) | 1 for Resto in battlegrounds and dungeons, 0 in raids | Friendly player plates. Replaces nameplateShowFriends. | 0 | Account | Launch client code |
nameplateShowOnlyNameForFriendlyPlayerUnits/run SetCVar("nameplateShowOnlyNameForFriendlyPlayerUnits", 1) | 1 with friendly plates on, to keep them clean | Friendly players show as names only, without bars. | 0 | Account | Launch client code |
nameplateShowDebuffsOnFriendly/run SetCVar("nameplateShowDebuffsOnFriendly", 1) | 1, the default, for Resto, to spot curses and poisons | Debuffs on friendly plates. | 1 | Character | Launch client code |
nameplateShowOffscreen/run SetCVar("nameplateShowOffscreen", 1) | 1 for PvP and Bear tanking | Keeps plates at the screen edge when the unit is off screen. | 0 | Account | Launch client code |
nameplateSelectedScale/run SetCVar("nameplateSelectedScale", 1.2) | 1.2 (the default) to 1.3 for PvP | Size of your target’s plate. | 1.2 | Character | Launch client code |
nameplateMinScale/run SetCVar("nameplateMinScale", 1) | 1, so far plates stay readable | How small distant plates get. | 0.8 | Character | Launch client code |
nameplateMinAlpha/run SetCVar("nameplateMinAlpha", 0.8) | 0.8 | Minimum opacity of plates that aren’t your target. | 0.6 | Character | Launch client code |
nameplateOccludedAlphaMult/run SetCVar("nameplateOccludedAlphaMult", 0.4) | 0.4 (the default) or lower for PvP, so you can see who a pillar is hiding | How faded plates are when the unit is out of line of sight. | 0.4 | Character | Launch client code |
nameplateOverlapV/run SetCVar("nameplateOverlapV", 0.8) | 0.7 to 0.9 for big fights | Vertical spacing of stacked plates. | 1.1 | This computer | Launch client code |
nameplateMotionNo command, it isn’t in the client | Use Stack Nameplates in the menu instead | The old stacking switch. | None, it isn’t in the client | Not saved | Client variable listNot in the client’s variable list (build 70532). Whether Stack Nameplates shows in the menu depends on a variable that isn’t in the list either. |
nameplateShowSelf/run SetCVar("nameplateShowSelf", 1) | 1 for every druid, for your mana in form. Use the menu | The Personal Resource Display. Shows Energy or Rage in form, a mana bar as well in Cat and Bear, and a combo point bar for your target in Cat. | 0 | Character | Launch client codeThe mana bar in form and the combo point bar are both in the launch client code. |
Combat text
Forever added detailed combat text options to the menu on 16 October, so most of these can be set there. The trap is the names, because many of the self combat text variables now end in _v2, and an older guide that tells you to set floatingCombatTextFloatMode is setting a variable that isn’t in the client’s variable list (build 70532).
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
enableFloatingCombatText/run SetCVar("enableFloatingCombatText", 1) | 1 for Resto and Bear, to see incoming heals and damage | The master switch for combat text about you. | 0 | Account | Launch client code |
floatingCombatTextLowManaHealth_v2/run SetCVar("floatingCombatTextLowManaHealth_v2", 1) | 1, the default, for every druid, because your mana is hidden in form unless the Personal Resource Display is on | Low Mana and Low Health warnings. | 1 | This computer | Launch client code |
floatingCombatTextAuras_v2/run SetCVar("floatingCombatTextAuras_v2", 1) | 1 for Balance and Feral, for Clearcasting and Nature’s Grace | Text when you gain or lose a buff. | 0 | This computer | Launch client code |
floatingCombatTextDodgeParryMiss_v2/run SetCVar("floatingCombatTextDodgeParryMiss_v2", 1) | 1 for Bear | Text when you dodge, parry or are missed. | 0 | This computer | Launch client code |
floatingCombatTextEnergyGains_v2/run SetCVar("floatingCombatTextEnergyGains_v2", 0) | 0, the default. It’s spam with Furor and Rage | Text for resource gains. | 0 | This computer | Launch client code |
floatingCombatTextComboPoints_v2/run SetCVar("floatingCombatTextComboPoints_v2", 0) | 0, the default. Read them off the bar | Text for combo points. | 0 | This computer | Launch client code |
floatingCombatTextFloatMode_v2/run SetCVar("floatingCombatTextFloatMode_v2", 1) | 1, the default. Taste | Direction the text moves. 1 up, 2 down, 3 arc. | 1 | This computer | Launch client code |
floatingCombatTextCombatHealing_v2/run SetCVar("floatingCombatTextCombatHealing_v2", 1) | 1 for Resto, already the default | Your healing numbers over targets. Older guides give it without the _v2, which does nothing. | 1 | This computer | Launch client code |
floatingCombatTextCombatLogPeriodicSpells_v2/run SetCVar("floatingCombatTextCombatLogPeriodicSpells_v2", 1) | 1, the default, to watch Moonfire, Rip and Rejuvenation, 0 if it’s too busy | Tick numbers for damage and healing over time. | 1 | This computer | Launch client code |
classicStyleWorldText/run SetCVar("classicStyleWorldText", 1) then /reload | Taste, for the original look | Switches to the older style of damage text. | 0 | This computer | Launch client code |
Sound
These are the sound variables that matter for a druid, most of them so you hear a fight, or a queue pop, over everything else.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
Sound_EnableErrorSpeech/run SetCVar("Sound_EnableErrorSpeech", 0) | 0. Every druid | Your character saying “not enough energy” and the like. | 1 | This computer | Launch client code |
Sound_EnableSoundWhenGameIsInBG/run SetCVar("Sound_EnableSoundWhenGameIsInBG", 1) | 1, so you hear the battleground queue pop | Sound whilst you’re tabbed out. | 0 | This computer | Launch client code |
Sound_ListenerAtCharacter/run SetCVar("Sound_ListenerAtCharacter", 1) | 1, the default, which matters more with the camera zoomed out | Positional sound comes from your character rather than the camera. | 1 | This computer | Launch client code |
Sound_NumChannels/run SetCVar("Sound_NumChannels", 128) | 64 to 128, so sounds aren’t cut off in big battlegrounds | How many sounds can play at once. | 64 | This computer | Launch client code |
Sound_EnableMusic/run SetCVar("Sound_EnableMusic", 0) | 0 for PvP, so you hear footsteps and casts. Taste | Music on or off. | 1 | This computer | Launch client code |
softTargettingInteractKeySound/run SetCVar("softTargettingInteractKeySound", 1) | Taste, handy for herbing | A sound when the Interact Key has something to use. | 0 | Account | Launch client code |
Graphics and clarity
These are the graphics variables that either have no slider or go past the one in the menu. Every one is saved on your computer only, and on the beta the Ground Clutter slider wrote over two of them (the grass settings) whenever it moved, so set them after you’ve finished with the menu.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
weatherDensity/run SetCVar("weatherDensity", 0) | 0 for PvP clarity, 3 for screenshots | How heavy rain and snow are, 0 to 3. | 2 | This computer | Launch client code, beta testingThe default is from the launch client code. The 0 to 3 range is from beta testing. |
ResampleAlwaysSharpen/run SetCVar("ResampleAlwaysSharpen", 1) | 1, with the menu’s Resample Sharpness slider at 0.6 to 0.7 (the slider shows the reverse of the variable, so use the menu). Everyone | Sharpens the picture even at 100% render scale. | 0 | This computer | Launch client codeThe reversed slider too. Conquest Capped and Mein-MMO tested it on the beta. |
groundEffectDensity/run SetCVar("groundEffectDensity", 16) | Low for PvP and herbing. 128 to 256 only for looks | How dense the grass is. The slider tops out at about 48. | 16 | This computer | Launch client code, beta testingThe default is from the launch client code. The slider’s top and its overwrite are from beta testing. |
groundEffectDist/run SetCVar("groundEffectDist", 200) | Leave it for PvP, 500 for looks | How far grass is drawn. | 70. The Ground Clutter slider sets it higher | This computer | Launch client code, beta testingThe default is from the launch client code. What the slider sets is from beta testing. |
volumeFog/console volumeFog 0 | 0 if you like, but don’t count on all of the fog going | Volumetric fog. On 24 September Blizzard removed an unnamed setting that could disable fog, so whether 0 still turns it off isn’t known. | 1 | This computer | Blizzard’s notesBlizzard’s note doesn’t name the setting it removed. What 0 does on live isn’t measured. |
graphicsSpellDensity/run SetCVar("graphicsSpellDensity", 0) | Essential. Use the menu | Spell Density. | 1 (Reduced) | This computer | Launch client code |
projectedTextures/run SetCVar("projectedTextures", 1) | 1. Everyone | Ground effects drawn on the ground. | Set by the menu, whose Projected Textures option defaults to on | This computer | Launch client code |
RAIDsettingsEnabled/run SetCVar("RAIDsettingsEnabled", 1) | 1 with lower values, for 40-player raids and Alterac Valley | Turns on the separate raid and battleground graphics profile, whose values are the raidGraphics variables. | 0 | This computer | Launch client codeWhich labels the menu tab Raid and Battleground. |
maxFPSBk/run SetCVar("maxFPSBk", 30) | 8 to 30. Use the menu | Frame rate cap whilst tabbed out. | 30 | This computer | Launch client code |
physicsLevel/run SetCVar("physicsLevel", 1) | 1, the default, which helps in raids | Cloth and physics movement. 1 is your character only. | 1 | This computer | Launch client code |
ffxGlow/run SetCVar("ffxGlow", 0) | Use the Bloom Intensity slider instead, which Blizzard improved into a slider in its 16 October notes | The old full-screen glow. | 1 | This computer | Launch client codeThe launch code only shows the Bloom Intensity slider when linear lighting is enabled at start. |
ffxDeath/run SetCVar("ffxDeath", 0) | 0, so you can see where you’re running back to | The grey screen whilst you’re dead. | 1 | This computer | Launch client code |
Interface
The last table is the interface odds and ends, from your frames and bars to chat, screenshots and synchronizeConfig.
| Variable and command | Set it to, and who for | What it does | Default | Saved | Checked against |
|---|---|---|---|---|---|
statusTextDisplay/run SetCVar("statusTextDisplay", "BOTH") | BOTH. Everyone, use the menu | Numbers and percentages on your frames. Shows mana in caster form only. | NONE | Account | Launch client code, ClassicThe name and default are from the launch client code. Mana in caster form only is how the frame worked in Classic. |
countdownForCooldowns/run SetCVar("countdownForCooldowns", 1) | 1. Everyone, use the menu | Numbers on cooldowns. | 0 | Account | Launch client code |
lockActionBars/run SetCVar("lockActionBars", 1) | 1, the default. Everyone | Stops spells being dragged off your bars. | 1 | Account | Launch client code |
minimapTrackingShowAll/run SetCVar("minimapTrackingShowAll", 1) | 1, for herbs and Track Humanoids in Cat | Shows every tracking type in the minimap menu. | 0 | This computer | Launch client code |
alwaysCompareItems/run SetCVar("alwaysCompareItems", 1) | 1, the default. Everyone | Comparison tooltips without holding Shift. | 1 | Account | Launch client code |
chatMouseScroll/run SetCVar("chatMouseScroll", 1) | 1, the default. Everyone | The mouse wheel scrolls chat. | 1 | Account | Launch client code |
showTimestamps/run SetCVar("showTimestamps", "%H:%M ") | A format for raids and PvP, so you can line chat up with a recording | Timestamps on chat lines. | none | Account | Launch client code |
showTutorials/run SetCVar("showTutorials", 0) | 0 on an experienced account | Tutorial pop-ups. | 1 | Account | Launch client code |
screenshotFormat, screenshotQuality/run SetCVar("screenshotFormat", "png") | png, or quality 10, if you share screenshots | Screenshot file type and quality. | jpeg, quality 3 | This computer | Launch client code |
synchronizeConfig/console synchronizeConfig 1 | 1, the default. Everyone | Saves your settings to Blizzard’s servers so they follow you. | 1 | This computer | Launch client code, retailThe name and default are from the launch client code. What it does is from retail. |
The ones to leave alone
A few variables either undo something Blizzard did on purpose or have a history of being treated as an exploit, and handing you those would do you no favours, because a hotfix will take them away, and a ban is a poor trade for a few yards of nameplate.
- Fog removal, Blizzard removed “a setting that could disable fog in an unintended manner” on 24 September, without naming it, and any new way of turning the fog off is likely to go the same way. Nobody has measured whether
volumeFog 0turns it off, thins it or does nothing on live, and it’s as far as this guide goes. - Vertical nameplate distance, Blizzard’s 16 October notes say “the distance visibility for Nameplates for enemies and NPCs above and below the player have been adjusted”, and the Warcraft Wiki names the variables behind it as
nameplateMaxVerticalDistanceand a partner. Neither is in the client’s variable list at build 70532, the newest one published, so they may not exist on the live client at all, and if they do, setting them to 0 reverses a change Blizzard made on purpose, so leave them be. - Nameplate range tricks, in 2019 Blizzard hotfixed a Classic trick that set
nameplateMaxDistanceto a value written in scientific notation to get past the cap. Use a plain number, and if the client clamps it, accept the clamp. - Addon restriction switches, the variables with names like
addonCombatRestrictionsForcedare developer test switches from retail’s Midnight (the launch client’s own description says they restrict addon functions when set), and they give a player nothing.
Most druids need the four near the top, plus Sound_EnableErrorSpeech at 0 if you’re tired of hearing “not enough energy” every time you shift, and the rest are there for when something specific bothers you. Set those and you’ll likely find the game a little quicker to answer your keys than it was before you started.
The settings you can change from the menu are in the day-one settings guide, and if you want to see these on the live client, the stream starts once Restokins hits 60, most weekdays from midday AEST.
Contributing to this guide
If a variable here does nothing on the live client, does something different, or has been renamed again, I want to hear it, and I’ll credit you by name when I correct the guide. Paste the output of the /dump command in an issue on the Restokins GitHub, or, once the stream starts at 60, tell me there. Every claim this guide still rests on a precedent for is on the open questions page, as a question anyone can settle in game.
Sources and credit
Nearly everything in this guide comes from reading the launch client’s own interface code and variable list, with retail’s variable list as the comparison and the people who tested the beta filling in what the code can’t show.
- Gethe, wow-ui-source, forever branch - the launch client’s interface code (Gethe’s mirror, build 1.60.1.70790, 4 November), which shows the menus, the Personal Resource Display’s mana and combo point bars, and that nothing in this guide changed at launch.
- Ketho, BlizzardInterfaceResources, forever branch - the client’s variable list and strings at build 1.60.1.70532, already set up for the live servers, which gives every default, saved location and secure flag here.
- Ketho, wow-ui-source-forever - the beta interface code, build 1.60.1.70009, which the first version of this guide was checked against.
- Warcraft Wiki, Console variables complete list, Console variables and Patch 1.60.1 API notes - retail defaults, secure variables, the reset warning and the new vertical nameplate variables.
- Stanzilla and contributors, Advanced Interface Options - the retail variable index.
- Kaivax, Forever beta known issues and development notes - the on-next-swing queue issue, the fog removal and the combat text changes.
- Kaivax, Known Issues - WoW: Forever, updated 5 November - the live known issues list, which no longer names the on-next-swing queue issue.
- Cory, on the Blizzard forums and Xanarrissa’s camera commands - the camera and nameplate values Forever accepted on the beta.
- Dmitro, Conquest Capped, Graham Smith, LepreStore, Kami’s grass command and Cortyn at Mein-MMO - the graphics variables, tested on the beta.
- Xerwo, Spell Queue Window at Maxroll, and the Blizzard forum thread with YungCheeze, Fake and Kennie - the case for and against lowering the queue.
- Wowhead, the 2019 nameplate range hotfix - why the plain value is the only one to use.
- wow-forever.gg, Console Commands and Playhub, Best WoW Forever Settings - Forever-specific recommendations to check against.
Change log
Follow this guide’s changes by RSS, every entry below as it’s added.
- Update
Reworded throughout to read more plainly, and none of the recommended values changed.
- Update
Contributing now links the open questions page, which lists what this guide still rests on a precedent for.
- Update
The status labels and the list of checks at the end are gone, and each claim now names what it rests on, in the sentence or in the Checked against column, whether that’s the launch client, retail, Classic or the beta. The recommended values are stated plainly as the guide’s, and none of them changed.
- Correction
Corrected two things, the Ground Clutter slider writing over the grass settings is from the beta and now Untested, and the
nameplateMotionrow no longer offers a command for a variable the client doesn’t have. - Update
Reworded to read more easily, with the same four to look at first as the settings guide and the closing moved above Still to test. The camera is now 4 for everyone everywhere on the page, with 2.6 as the alternative, all seven secure variables are marked,
stopAutoAttackOnTargetChangeis 1 for anyone in PvP, and the spell queue says where to read your ping. - Update
I now suggest
nameplateShowSelfat 1 for every druid, not just Feral, so your mana shows in Cat and Bear Form, andinteractOnLeftClickis now down as taste rather than a pick, to match the settings guide. - Correction
I had
cameraWaterCollisionbackwards. 1 is the value that takes the camera under the water with you, and 0 keeps it above. ActionCam is saved on this computer, not your account, and Blizzard’s 24 September note doesn’t namevolumeFog, so what 0 does now is Untested. - Major
Updated for the live game, with every name, default and saved location checked against the launch client’s code, which settled the player nameplate distance,
nameplateOverlapV,stopAutoAttackOnTargetChangeand mana in form on the Personal Resource Display. What still needs a live test now carries one Untested label and sits in Still to test. - Correction
The Personal Resource Display shows a mana bar in Cat and Bear on the live client, so your mana is only hidden in form when it’s off, and the Low Mana warning row now says so.
- Correction
The player nameplate default of 40 is Probable, as the table already said, not Confirmed like the 45 for every plate.
- Update
Added a figure that puts the nameplate and camera distances on one scale in yards, against a 30 yard spell.
- Correction
Corrected - the vertical nameplate variables aren’t in the beta variable list, so they’re now Unverified, and the intro says this was written before launch.
- Major
First published before launch, checked against the Forever client code, with live checks to follow.
See it set up live.
I’m Restokins, a Tauren druid playing Horde PvP on Forever, and every guide here names its sources and is corrected in public in its change log. The stream starts once I hit 60, weekdays from midday AEST. About the stream New guides and posts by RSS Every correction by RSS