Get an Epic Experience with Premium


Combat Login to Add Favorites
  • World of Warcraft
  • 4,688 Monthly Downloads
  • Supports: 6.0.2
  • 316,782 Total Downloads
  • Updated 10/26/2014
  • Created 04/10/2009
  • 572 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.0_RC

About Watcher


Watcher helps you manage your rotation by consolidating and condensing information onto a simple to read display. It allows you to focus on things that are more important like boss mechanics, your situational awareness, or listening to your raid leader; instead of being bogged down in the act of performing your rotation.

With deep and powerful configuration options, Watcher allows you to see exactly the information about your rotation that you want to see. However, it comes with a wide variety of defaults for many classes and specs to get you started. Properly configured and customized, Watcher is a mighty tool for both new players just learning their classes as well as players that have been raiding since classic.

A GIF of Watcher running on a 2H Frost Death Knight:

Watcher also includes:

  • A dynamic event-driven architecture; unlike some other rotation helping addons, Watcher won't tank your framerate
  • Masque support for skinning icons
  • A large number of visibility options to control exactly when Watcher shows up
  • And more!


Through the use of a priority system as well as powerful filters for spells and abilities, Watcher displays your rotation in the familiar context of a timeline, with higher priority spells stacked on top of lower priority ones and upcoming abilities placed on the timeline according to when they will become useful. Abilities on the timeline are waiting for a wide variety of things: coming off of cooldown, waiting for resources, monitoring a DoT, etc.

Attacks ready to be performed are displayed using a stack with the most prioritised attack shown on top.

Ability keybinds can be optionally displayed.


More to come in this section later.

A slightly old full walkthrough of Watcher configuration is located here

Display settings documentation.

Priorities can be adjusted to where they suit you.

Spells can be configured to be cast based on a wide variety of filters whether that be the presence (or lack there of) of an aura on you or your target, your target's health percent, your mana/resource percent, whether a spell can be stolen or interrupted, whether you have a particular talent or glyph, among other options.


Found a bug? Report it!

Want a feature? Request it!


Want to help make the defaults better? Vist the class forum posts for each default:

Death Knight | Druid | Hunter | Mage | Monk | Paladin | Priest | Rogue | Shaman | Warlock | Warrior

Here's a tutorial for creating and exporting defaults.

tag 3.0_RC
Michael P. Starkweather <>
2014-10-26 19:01:14 -0500


Michael P. Starkweather:
    - Updated .toc to reflect new release candidate status
    - Lots of defaults added. Thank you Marci-Hellscream!
    - Changed the events when the usability filter is fired.
    - Also throttled events a little harder.
    - Update Hunter defaults again. We'll get them right!
    - Fix issue with removing spells that don't currently have.
    - Fix regression of default export -- it wasn't attaching the api version to the exported default file.
    - Frost DK defaults. Also added a priority list filter for switching priority lists if dual wielding or not. Default contains 2H and Dual Wield separate priority lists.
    - Fix embarrassingly bad regression in aura filter. Will now work if you do not have a timeRemaining on that you are checking to see if exists.
    - Updated Hunter defaults to use "Ignore Usability" where needed (high cost, high reward spells) and updated priorities to better match reality. Thanks Jeslinis!
    - Channels now act the same as casts.
    - Juggle some spell options around in the menu.
    - Changed message slightly. Also, the curse packaged version number should show up on the version string (previous commit).
    - Add Sparbanken to the author list in the .toc file. Also, in a previous commit, I reverted the 3.1 version to 3.0 since we've never shipped a 3.0 version and it makes things easier for me.
    - Another try to get the usability filter to both work for deathknights and work for 'execute' style mechanics.
    - Disable mouse on icons if locked and enable mouse on icons if not locked.
    - Did a pass on filters and options related to them. You may see a API conversion in your chat from API 0 to API 1 -- this is normal.
    - Changed Aura filter to be significantly more powerful. Can now select a Unit and if it is a buff/debuff, as well as expanded options for stack and remaining time.
    - Known issue with new Aura filter -- if it is setup with above a time when the aura exists, then it may not update when the icons should disappear.
    - Changed talent and glyph filters to have an additional option for if you don't have the talent or glyph.
    - Changed health filter to have a unit selector and to clarify setup.
    - Changed power filter to clarify setup.
    - Removed useless spec filter.
    - Added a first time dialog to open the Watcher config.
    - Removed spec filter
    - New option: "Casts Affect Usability". This will cause the current cast to force other abilities to be pushed back until the cast is done.
    - Moved the new Icon Settings up in the Timeline Settings panel.
    - New option, "Orient to GCD" (off by default). This will remove the jitter due to the GCD, making the 'main stack' stay still.
    - Fix regression of stack height calculation.
    - Changed the way that stack position is calculated, should now properly stack further down the timeline.
    - Dramatically reduce jitter by only updating endTime if the change is more than 200ms.
    - Two new options! Desaturate (turn greyscale) icons when unusable and hide icons when recovering resources.
    - Fix for unusable things (like Kill Shot) showing up in the timeline when they shouldn't.
    - Slight fix for icons not being completely built at game start. An inelegant and terrible fix. But it works!
    - Disabled the "Display Type" because there is only a single, unimplemented option.
    - Changed the returned from the GetSpellDropdown function to include the spellName.
    - Increase maximum stack for aura filter.
    - You can now configure the "Ignore Usability" in the default "Usable" filter set.
    - Accidently broke "Ignore Usability", restore it's functionality.
    - Modified Hunter defaults to not use ignore usability and follow Icy-Veins a little more closely.
    - Fix issue with usability filter incorrectly hiding things on cooldown that aren't usable (like death knight abilities that cost runes).
    - Check off the year old todo for time until power percent since last commit fixed that.
    - Power filter now will return the time until power will be reached.
    - Rewrote usability filter and made it take resource regen into account.
    - Added spell charges filter
    - Fixed spelling mistake in message.
    - Removed the incomplete UI message from the priority lists editing.
    - Added confirmation dialogs for deletion of spells, filter sets, and filters.
    - Correctly display the shortest time until cast and then most prioritized icon.
    - Changed the default for the show on target so that the frame is visible most of the time.  This should be less confusing.
    - Made the usability filter check the GCD instead of assuming 1.5, should lead to icons not disappearing at 1.5 sec.
    - Reverted showing more than a single icon at a time.
    - NumIcons is now default to 64 instead of 12, just to rule things out.
    - Clarified a comment.
    - Prot Warrior defaults.
    - Fixed Glyph and Talent detection! Hurrah for undocumented Blizzard APIs!
    - Add option to rename the dropdown name, which will mostly resolve the issue with multiple spell IDs for a single name. Thanks Jeff!
    - Updated message and changelog.
    - Pretty Print will now output with 4 space indents instead of 3 to match the style of Watcher code.
    - Updated the message to be displayed when the defaults have changed.
    - Made defaults check off of non-localized class name and changed the way that the default timestamp is updated.
    - Some whitespace changes. nothing too heavy handed
    - Changed the default class check to no longer run string.upper because it doesn't need to.
    - Changed the export functionality to reflect header changes.
    - Removed "HunterOld" default.
    - Changed gitignore to ignore my project file
    - Added AceSerializer-3.0 to pkgmeta so that the packager will add the library
    - Change default scale to something just a little bit smaller.
    - Remove 5m as a default time segment. Don't worry, you can just add it back!
    - Merged in latest version from CurseForge.
Michael Starkweather:
    - Changed duration string to display 1m instead of 60
    - Embedded AceTimer
    - Major work done on move into an event based system.
    - Changed move up and move down to up and down to support larger fonts
    - Added edit button that pops out spell settings from priority menu. Changed move up and move down to reselect the spell/filter set that you are moving.
    - Changed cooldown filter slightly to allow for the cooldown of unusable spells past the previous 3 second mark.
    - Fixed not being able to add 0 to the time segments after removing it.
    - Fixed icon size being odd without Masque. Fixed tooltip for health. Adjusted aura refresh threshold max to 60sec. Should support monk stagger now.
    - Added option to check player health instead of enemy health
    - Will not show if there are no setup priorities.
    - Now orders specs correctly so that the one that pops up is the spec that you are in.
    - Added two new options -- MaxStackedIcons and StackHeight. Moved Timeline settings into own display settings tab. Fixed not being able to edit Timeline time segments Can now edit the maximum number of icons
    - Switching talents should now properly change the priority list.
    - Fixed show on enemy target. Again.
    - Fix for invulnerable enemy targets not showing using Show Only If Target Exists
    - Fixed turning off keybind labels. Removed MONOCHROME font effect since it crashes the game regularly. Added "Casting a spell that has a cooldown removes it from the list."
    - Fixed totems. Hopefully for the last time.
    - Mistype on 295 of Filters.lua Ooops
    - Fixed totems.
    - Hopefully fixed totem time detection.
    - Added totem filter.
    Changed "None" to "Usable"
    - Actually fixed moving.
    - Fixed moving frame.
    - Renamed a bunch of things.
    - Fixing for packaging
    - Spellcheck.
    - Attempt number 2 on trying to get packager to like it.
    - Fix AceLocale and AceGUI
    - Fix for AceGUI and AceLocale not embedding
    - First attempt at doing a packaging test.
    - Removed buffTypes since using LibDispelable
    - Added CheckSecondaryResource filter.
    Fixed flipped >= and <= in Classification filter.
    - Added LibDispel and wrote CheckTargetAura filter
    - Added target casting interruptible filter
    - Added license to files
    - Target classification filter now working
    - Fixed CheckSpellTalent
    - Changed some minor things for consistency.
    Updated CHANGELOG.txt to be.. better.
    - Added CHANGELOG.txt
    - Added LICENCE.txt
    - Added .pkgmeta file to embed latest versions of libraries.
    - First attempt at showing only one icon.
    - Fixed usability patch to make so cooldowns and aura tracking doesn't go away when not enough resources.
    - Changed tooltip for power filter.
    Keybind display now working.
    - Fixed priority lists retaining deleted values of spells/filter sets
    - Fixed inverted aura detection.
    - Priority list options appear on first load.
    Changed "Default" name to "None" and made so that cannot change the filters attached to it.
    Priority list GUI doesn't show the filter set "None" in the sidebar.
    - Usability is ignored if ability is on cooldown.
    - More work on getting frame tied into new backend.
    Max refresh rate on frame is now 60fps.
    - Removal (and commenting out) of all old code and starting to integrate newDB into the frame and overall usage.
    Priority list is evaluated at enable time currently. This is working.
    Beginning of spell filter evaluation.
    New frame draw method. Hopefully it works -- untested as of now
    - Changed priority frame GUI to display position in list.
    - Working GUI for editing priority lists with default values. These priority lists are set up automatically to be all of the available specs of your class.
    - Can now add spells based on name presuming that the character has the spell.
    - Initial commit.


First Previous Page 9 of 58 Next Last
  • #799

    Oh, got it, I misunderstood the ability - I thought it was an ability with a long cooldown that you were trying to track, but I see its' actually a short cooldown, and you want to keep it up all the time. 

    Well it sounds like you did it right... By default, the addon hides priorities that you do not have sufficient rage/mana/energy to use, so if you want to have it show ALL the time regardless of how much rage you have,  then that's when you'd use that new check-box I added to the spell config "Ignore Usability". Make sure that's checked, along with "is aura" and "aura exists on player". The fact tha the aura and the spell have the same name is not a problem.

  • #798

    Actually it's more that I can't have it shown on the slidebar, although I mark "Is Aura", "Aura Exists on Player" and then the Aura name (Shield Block).


    I'm guessing it's messing up due to the name of the aura and the name of the skill are the same.


    But generally I'd just love to be able to see when my Shield Block buff is about to expire as not to waste charges / seconds of the buff.

    Edit: I've solved my problem. Shield Block lasts just enough to be listed as a "short duration DoT" (6 sec.) and I've listed it as such with 6 sec. duration. Now I can track it and refresh it on the last second / expiration.

    Last edited by Elvoran on 12/21/2012 12:11:57 PM
  • #788

    Thank you for updating the addon.  I'm thrilled to see the addon being updated for the new expansion.  :)

    With that being said, there are a few things I'd like to mention.

    * /watcher config > spell settings...  There are two errors that never really got resolved.  Number of stacks of Aura and Power Required.  By default, when you create a new ability, they're at 0.  However, if you move the slider at all, the minimum is 1.  Every time I want to fix this, I have to physically edit the addon files or re-create the ability.  

    * Another error that is reoccuring is the text size of the ability timer.  It gradually increases.  Eventually, it'll start covering up crucial parts of my screen.  I can reload the UI to fix it, but that isn’t a good idea during boss fights.

    * When playing an affliction lock, I have to channel abilities to keep my DPS up.  Is there a way you can add a channeling bar or something so I can monitor my channeling?

    * When playing a DK, Watcher seems to have difficulties tracking death runes.  Any thoughts?

    * When playing a Balanced Druid, when using your default abilities, I noticed abilities like Wrath and Starfall totally override my priority system and go to the front of the queue during Eclipse.  How can I turn off the override?

    * Why can’t I delete the original abilities Watcher has? 

    Don’t get me wrong, this addon is still one of my favs.  Keep it up :)

  • #789

    hi there. Like i mentioned, I'm not the original author, and I'm not playing WoW at the moment - too busy with college classes, but I appriciate the feedback. I'll have more time to look into this later. But some initial feedback:

    * Yes, I'm aware of the odd behavior with the minimum of 0 or 1 stacks, although practically speaking.... what's the difference? The addon won't monitor for a stack unless there's one available, so a proc will work correctly to show you whether the slider is set to 0 or 1.... in either case, the proc will display once one stack is present. If, on the other hand, you're trying to make an aura appear any time it's missing (thus the minimum stacks would be 0), there's a separate checkbox for that. I guess I just don't see where it matters. But it's an easy fix.

    *Ya I've heard of this text size changing, I'll see if I can figure that out.... strange error.

    *Channel bar - Ok, here's where I'm going to show my weakness... I'm a healer, and the whole idea of monitoring channels for DPS optimization is new to me - I only picked up this addon because of begging and pleading by some DPS looking for help prevening it from dying with MOP so I'll need to take some time and educate myself on the technical needs of DPS to know what it is you're looking for. In the mean time, I assume addons like Quartz can show you this function, yes? My philosophy as an addon writer was to not worry so much about things which other addons can already do, unless I can do them better.

    *DK's are a whole new animal if each of their rune types need to be tracked individually, I'll have to do some major modifications to make this work. Is it ONLY death runes, or all runes? What is behaving differently with death runes? Is it not recognizing an ability as "ready" even though death runes are available for it?

    *The priorities were designed by another individual who helped me update this for MoP. If you could offer me a description of the actual priorities you want to establish, I might be able to help you put that together (or modify the addon if there is a technical limitation)

    * That's just the way that the Ace Config library that was used to help put togeather the addon works... defaults are always restored, unless they are overridden. So you can't delete a pre-created ability, but you can modify the attributes of that ability and those modifications will be remembered. I COULD work around this and make it so that you can perminatly delete defaults if it's a problem, but I guess I don't see it as being a substantial problem.

  • #786

    Still working great and keeping me going.  Two things, though:

    1.The bar disappears whenever entering a 'vehicle' -- not the kind the replaces the action bar, but the one that simply adds a "leave vehicle" button just above the action bar like a multiple-person mount. The primary example of this is jumping onto Raigonn to attack the weak point, or a barrel in Stormstout Brewery.  I generally keep the options "show only in combat" and "show only with a target" on, but both of those should still be true even when in the vehicle.  Can the display be set to still show in this instance with those options?

    2. I've noticed this most particularly on my Fury warrior:  Over the course of a long (raid boss) fight, the font size on the countdown for Bloodthirst grows to a ludicrous size, which then persists until the interface is reloaded for some reason. Obviously not a crippling bug, but a bit weird.

  • #787

    Feel free to make suggestions either here or make a ticket on the developement page. My primary goal was to keep the addon from completely failing when MoP came out, but I won't have time to worry about enhancements until my college semester is over. I'm not even playing wow atm :-P

    Last edited by nothingsknower on 11/8/2012 1:33:03 PM
  • #784

    If this addon show/include the focus bar, like JSHB, I will replace JSHB in my game

  • #781

    I am having a issue with Watcher on my Level 89 Feral Druid, worgen. Playing on a enUS client server.

    The issue is whenever I engage a boss, Watcher suggests Faerie Fire and then Mangle and then repeats that line without suggesting or prompting any other action. This continues till the boss is dead. The only time I am able to get Watcher, most of the time anyway, is to take target off the boss, re-target the boss and Watcher works fine most of the time afterwords. But this can be inconsistent. This ONLY happens when I engage a boss, not the regular mobs.

    Anyone else having this issue?

  • #782

    Two things.

    1: is this your first time using the addon, or have you had the addon for a long period of time? If you've had the addon for a while (like before MoP came out), you may need to delete the saved variables - there were some glitches involved with old versions that saved data differently.

    2: If you could, give me a copy of your saved variables so I can test the configuration myself. You can paste it here, or make a ticket on the development page

    Your saved variables file will be found here:

    World of Warcraft/WTF/Account/[Your Account]/[Your Server]/[Your Character]/Saved Variables/Watcher.lua

  • #783

    Thanks for the quick reply nothingsknower. Yes I been using Watcher for a while. What I will do is first make a copy of the SV and then delete it, try Watcher and see how it goes. If it repeats, I'll send you the SV. Will let you know how it goes.

  • #779


    Fixed by downloading the new ace libs. Sorry.!

  • #778

    Using this on beta as well as live -- as a heads up, there appears to be some issue in beta thats popping up. Error is as follows:

    EDIT: downloading ace3 libs and AceGUI libs fixed it. May need to update the libs within the watcher folder?


    Message: ...cher\Libs\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:66: CreateFrame(): Couldn't find inherited node "UIPanelButtonTemplate2"
    Time: 09/13/12 10:19:50
    Count: 2
    Stack: [C]: ?
    ...cher\Libs\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:66: in function `?'
    ...erface\AddOns\Watcher\Libs\AceGUI-3.0\AceGUI-3.0.lua:136: in function <...erface\AddOns\Watcher\Libs\AceGUI-3.0\AceGUI-3.0.lua:125>
    ...erface\AddOns\Watcher\Libs\AceGUI-3.0\AceGUI-3.0.lua:174: in function `Create'
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1116: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1054>
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1581: in function `FeedGroup'
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1853: in function `Open'
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1881: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1879>
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[2]"]:9: in function <[string "safecall Dispatcher[2]"]:5>
    (tail call): ?
    (tail call): ?
    ...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:143: in function <...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:133>
    ...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:408: in function <...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:334>
    (tail call): ?
    ...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:762: in function `HandleCommand'
    ...\AceConfig-3.0\AceConfigCmd-3.0\AceConfigCmd-3.0.lua:774: in function `?'
    Interface\FrameXML\ChatFrame.lua:4358: in function `ChatEdit_ParseText'
    Interface\FrameXML\ChatFrame.lua:4052: in function `ChatEdit_SendText'
    Interface\FrameXML\ChatFrame.lua:4091: in function `ChatEdit_OnEnterPressed'
    [string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>

    Locals: <none>

    Last edited by Jeslinis on 9/13/2012 12:23:53 PM
  • #773

    I'm thrilled to see this addon back, I can't tell you how much.

    That being said, I'd appreciate any suggestions on how to get the addon to recognize the need to reapply the Steady Focus buff for Marks.  Setting it to track the aura doesn't seem to work.

  • #775

    I've just released a new version that should fix the problems you're having trying to make Steady Focus show. It v2.15.6, which might be available on by the time you read this. If not, you can download it from the project site:

  • #777

    Ya, the addon's not very well designed to modify how it handles priorities based on the effects of spells (i.e. it cant't tell that !Fire causes Aimed Shot to be free). By default, the addon sets spells that you can't afford to cast at lower priorities even if it'soff cooldown and ready to use... A new option to ignore power when displaying the icon might be nice to add.


  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

VIP trip to SMITE World Championship