Trend Explorer
Recent download momentum
Hourly download deltas for the last 48 hours.
About this addon
What it does
Ultimate Castbar aims to be the last castbar World of Warcraft addon you’ll ever need. It is a highly configurabl castbar addon for World of Warcraft (Retail), focused on deep layout control, rich text/tagging, and advanced interruptibility/kick-aware visuals.


Sources of inspiration and credits
Thanks to Xepheris for DisintegrateTicks on which was based dynamic disintegrate ticks, donate here if you liked that feature.
Thanks to obk_wow for Universal Frame Anchor on which was based the frame picker, send some love his way if you liked that feature.
Features
Highlights
- Per-unit castbars for
player,target, andfocuswith independent enable/disable and full settings trees. - Supports normal casts, channels, and empowered casts.
- Powerful multi-tag text system with custom formula parsing and performance-aware updates.
- Extensive style controls (textures, borders, gradients, class/ombre/custom color modes).
- Advanced uninterruptible + kick-aware visuals (overlays, “until kick” fills, tick markers, dynamic alpha).
- Class-specific channel tick tooling + player spell blacklist/whitelist.
- Deep Evoker support: empower stage visuals + dynamic Disintegrate tick logic (Devastation).
- Robust preview simulator that reuses the real cast pipeline.
- Safe-ish Blizzard castbar coexistence (hide/show, size/position/scale, restore baseline).
- AceDB profiles with import/export, schema filtering/normalization, and copy-between-units tools.
Installation
Automatic install
Use either Curse or Wago and their corresponding OS apps
- Search for “Ultimate Castbars” and click “Install” (Curse) or “Add to collection” (Wago).
- Follow the prompts to select your WoW installation and desired options.
- The app will handle downloading, installing, and updating the addon for you with only a few clicks.
Manual install
Download the repository as a ZIP (or a release archive if you publish releases).
Extract the UltimateCastbars sub-folder into your WoW AddOns folder (the sub-folder should have a file called UltimateCastbars.toc inside it):
- Windows:
World of Warcraft\_retail_\Interface\AddOns\ - macOS:
World of Warcraft/_retail_/Interface/AddOns/
- Windows:
Launch the game and enable the addon in the character select “AddOns” menu.
Quick Start
- Log in and open options with:
/ucb - Enable the bar(s) you want (Player/Target/Focus).
- Use the Preview buttons to spawn test casts (normal/channel/empowered).
- Adjust anchoring and offsets until the bar sits where you want it.
- Customize text tags, textures, borders, and interruptibility visuals.
Configuration Overview
Per-Unit Bars
Each tracked unit (player, target, focus) has its own settings tree:
- Enable/disable per unit
- Preview controls per unit
- Copy settings from another unit bar
- Tabs for general layout, text, style, uninterruptible/kick visuals, visibility, class settings, and Blizzard default castbar handling
Layout, Anchoring, and Size Sync
The General tab provides deep positioning controls:
- Anchor to any frame by name (default
UIParentor custom frame) - Separate
anchorFrom/anchorTopoint pairing - X/Y offsets
- Frame picker helper (hover-to-identify frames)
- Late-loading frame resolution (retry + delay/interval settings)
- Optional size sync to another frame:
- Sync width and/or height, with offsets
- Min width/height
- Options to include border thickness in effective sizing

Icon layout:
- Show/hide icon
- Anchor icon around the bar (sides/corners/top/bottom)
- Offsets
- Sync icon size to bar height or set explicit width/height

Text Tags and Tokens
Ultimate Castbars includes a custom text engine:
- Multiple text entries per bar (
textList) - Per-tag enable/disable + display name
- Per-tag type: Cast, Interrupted, Cancelled
- Per-tag show rules:
- By cast type (normal/channel/empowered)
- By effect state (show on interrupted/cancelled)
- Per-tag font/size/outline/shadow/color, with optional shared overrides
- Performance model:
- Static (no updates after setup)
- Semi-Dynamic (updates on cast/state change)
- Dynamic (updates every frame, e.g., timers)

Supported token list
Tokens may support an optional :X suffix for limits (where applicable).
| Token | Meaning |
|---|---|
[sName] / [sName:X] |
Spell name |
[kName] / [kName:X] |
Interrupting unit name (interrupted text) |
[dTime] / [dTime:X] |
Total duration |
[dPerTime] |
Total duration percent (100) |
[rTime] / [rTime:X] |
Remaining time |
[rPerTime] / [rPerTime:X] |
Remaining percent |
[rTimeInv] / [rTimeInv:X] |
Elapsed time |
[rPerTimeInv] / [rPerTimeInv:X] |
Elapsed percent |
[nIntr] / [nIntr:X] |
Uninterruptible-only text (also controls visibility) |
[nIntrInv] / [nIntrInv:X] |
Interruptible-only text (also controls visibility) |

Style and Visuals
- Castbar texture, background texture
- Border textures for bar + icon
- Color modes:
- Class Colour
- Ombre (Rainbow) progression
- Custom Colour (optional gradient start/end)
- Target/Focus can use separate enemy NPC colors (where applicable)
- Background toggles + alpha
- Custom rectangular borders with:
- thickness
- per-side offsets
- synced/independent icon border options


Interruptibility and Kick Awareness
A major focus area:
Uninterruptible casts (notInterruptible):
- Hide main bar, or alter transparency
- Optional icon inclusion in transparency change
- Custom overlay fill/texture + background styling
- Separate border styling for uninterruptible states (bar + icon)
Kick / interrupt availability awareness:
- Hide bar until your interrupt becomes available
- Change transparency when interrupt is on cooldown/unavailable
- Optional dynamic alpha updates during the cast as cooldown changes
- Tick marker for “kick timing”
- “Until kick” fill region with optional overlay/background

Other Features
- Spell Queue Window (player)
- Read/write
SpellQueueWindowCVAR - Optional custom ms duration
- Visual overlay on castbar (per cast type)
- Read/write

- Channel tick markers
- Global tick visuals (color/width, optional texture)

- Invert / mirror behavior
- Per cast type: invert fill direction, mirror rendering using clipped frames
- Interrupted / cancelled overlays
- Per effect type + cast type
- Custom textures/colors + display duration



Class Settings (Ticks + Filters)
- Class navigation UI for all classes (with class-colored labels)
- Player channel spell tick table (per spell, per spec aware UI)
- Observed units (target/focus) have class defaults and spec placeholders for channel ticks
- Player spell filter:
- Blacklist or whitelist mode
- Add by spell picker or spell ID
- Applied to player castbar display logic


Evoker Empower + Disintegrate Support
- Dynamic Disintegrate tick logic (Devastation):
- Tick timing adapts to haste/talents/channel updates
- Fallback to static tick settings if disabled

- Empower visuals:
- Stage tick marks and segment backgrounds (dynamic)
- Manual tick placement (percent-based) with reset
- Per-stage tick and color control
- Optional textures

Preview Tools
Per unit:
- Preview normal cast, channel, and empowered casts
- Looping previews (auto restart)
- Choose preview spells from detected spellbook lists
- Configure duration, empower stage count, “not interruptible”
- Drag preview bar to reposition and write offsets back to settings

Blizzard Castbar Integration
- Show/hide default Blizzard castbars while using custom bars
- Optionally show a static bar when enabling for comparison/testing
- Control default bar size/position/scale (or leave Blizzard-managed)
- Captures and restores Blizzard baseline positions with “late restore” to reduce drift
- Re-applies hide/show if Blizzard attempts to show frames again

Slash Commands
/ucb,/ultimatecastbars,/uc— Open main UI/pcb— Player castbar settings/tcb— Target castbar settings/fcb— Focus castbar settings/ucbprof— Profiles tab/ucbdebug— Start debug mode/ucbdebugstop— Stop debug mode/rl— Reload UI
Profiles, Import/Export, and Copy Tools
- AceDB profile management (choose/copy/reset/delete)
- Optional LibDualSpec integration (if present)
- Import/Export:
- Export selected/current profile as a string
- Import into current or existing profile
- Import as a new profile
- Uses AceSerializer + optional LibDeflate for compression/printable encoding


- Copy settings between units:
- Copy selected categories (general/text/style/visibility/uninterruptible/other/class)
- Replaces array-like settings cleanly (e.g., text lists)
Debug Mode
Debug mode is intended for addon conflict isolation:
- Captures currently enabled addons (excluding Ultimate Castbars)
- Disables them for the current character and reloads UI
- Stores the list and can restore/reload later
Use carefully—this is disruptive by design.
Dependencies
This addon uses (directly or via embedded libs):
- Ace3
- AceGUI-3.0-SharedMediaWidgets
- CallbackHandler-1.0
- LibDataBroker-1.1
- LibDualSpec-1.0
- LibSharedMedia-3.0
- LibDeflate
Support
- Use Discord for issues or bugs and feature requests: https://discord.gg/wX5hWW3N3Q
Contributing
PRs welcome.
Suggested workflow:
- Fork the repo
- Create a feature branch
- Keep changes focused and documented
- Submit a PR with a clear summary and testing notes (client version, class/spec, steps)
At-a-glance numbers
Performance highlights
- Peaked at Hot #1562 on Jun 3, 2026.
- Peaked at Rising #3346 on May 16, 2026.
- Featured on the Hot list across 5 distinct weeks.
- Shipped 1 release in the last 30 days.
- Averaging 7 new downloads per day over the past week.
