promotional bannermobile promotional banner

AbstractUI

**AbstractUI** is a complete, modular, and modern User Interface replacement for World of Warcraft. Built for **WoW 12.0+**

File Details

AbstractUI-v12.0.5.27.zip

  • R
  • May 10, 2026
  • 1.47 MB
  • 31
  • 12.0.5
  • Retail

File Name

AbstractUI-v12.0.5.27.zip

Supported Versions

  • 12.0.5

AbstractUI v12.0.5.27 Release Notes

🎨 Skinning System Overhaul

New Per-Frame Skinning Controls

  • Granular Control: Individual toggle switches for each Blizzard frame
  • 20 Skinnable Frames: Character, Spellbook, Talents, Professions, Collections, Achievements, Encounter Journal, Friends, Communities, Guild, PVP, LFG, Quest, Gossip, Dialog, Merchant, Mail, Trade, Game Menu, Settings
  • Progress Indicators: All incomplete skins clearly marked as "(IN PROGRESS)" in settings
  • Framework API: Centralized AbstractUI.SkinFramework for consistent skinning across all frames

Completed Skins

  • Character Frame: Fully functional with equipment slots, stats, and titles

Work in Progress (Placeholder Files Created)

  • 🚧 Spellbook
  • 🚧 Talents / Specialization
  • 🚧 Professions
  • 🚧 Collections (Mounts, Pets, Toys, Transmog)
  • 🚧 Achievements
  • 🚧 Encounter Journal
  • 🚧 Friends List
  • 🚧 Communities / Groups
  • 🚧 Guild Panel
  • 🚧 PvP Panel
  • 🚧 LFG (Dungeon Finder)
  • 🚧 Quest Frame
  • 🚧 NPC Dialog
  • 🚧 Player Choice Dialog
  • 🚧 Merchant / Vendor
  • 🚧 Mailbox
  • 🚧 Trade Window
  • 🚧 Game Menu
  • 🚧 Settings Panel

🐛 Bug Fixes

Critical Fixes

  • Fixed: ADDON_ACTION_BLOCKED error in GroupManager module
    • Issue: Protected frame security violation when calling Hide() on CompactRaidFrameManager
    • Solution: Replaced OnShow hook with UnregisterAllEvents() approach

Code Quality

  • Fixed: All new skin modules now use proper LibStub("AceAddon-3.0"):GetAddon("AbstractUI") pattern
  • Improved: Frame skin detection uses OnShow hooks for proper timing
  • Refactored: Centralized skinning utilities in AbstractUI.SkinFramework API

📁 File Organization

New Files

  • Skins/CharacterPane.lua - Complete character frame skin
  • Skins/SpellBookFrame.lua - Spellbook placeholder
  • Skins/TalentsFrame.lua - Talents placeholder
  • Skins/ProfessionsFrame.lua - Professions placeholder
  • Skins/CollectionsJournal.lua - Collections placeholder
  • Skins/AchievementFrame.lua - Achievements placeholder
  • Skins/EncounterJournal.lua - Encounter Journal placeholder
  • Skins/FriendsFrame.lua - Friends placeholder
  • Skins/CommunitiesFrame.lua - Communities placeholder
  • Skins/GuildFrame.lua - Guild placeholder
  • Skins/PVPUIFrame.lua - PvP placeholder
  • Skins/LFG.lua - LFG placeholder (renamed from PVEFrame)
  • Skins/QuestFrame.lua - Quest placeholder
  • Skins/GossipFrame.lua - NPC Dialog placeholder
  • Skins/DialogFrame.lua - Player Choice placeholder
  • Skins/MerchantFrame.lua - Merchant placeholder
  • Skins/MailFrame.lua - Mail placeholder
  • Skins/TradeFrame.lua - Trade placeholder
  • Skins/GameMenuFrame.lua - Game Menu placeholder
  • Skins/SettingsPanel.lua - Settings placeholder
  • Skins/README.md - Developer documentation for skinning framework

Updated Files

  • Modules/Skins.lua - Refactored with SkinFramework API and per-frame controls
  • Modules/GroupManager.lua - Fixed protected frame security issue
  • AbstractUI.toc - Added all new skin files to load order

🔧 Developer Notes

SkinFramework API

New centralized utilities for skin developers:

  • SkinFramework:IsFrameEnabled(frameName) - Check if frame skinning is enabled
  • SkinFramework:GetThemeColors() - Get current theme color palette
  • SkinFramework:GetColorPalette() - Access ColorPalette module
  • SkinFramework:GetFontKit() - Access FontKit module
  • SkinFramework:ApplyBackdrop(frame, colors) - Apply themed backdrop
  • SkinFramework:StripTextures(frame) - Remove Blizzard textures

Best Practices

  • Use LibStub("AceAddon-3.0"):GetAddon("AbstractUI") to access addon
  • Hook frame OnShow events for proper initialization timing
  • Check SkinFramework:IsFrameEnabled() before applying skins
  • See Skins/README.md for detailed developer guide

🚀 Future Plans

  • Complete implementations for all 19 placeholder skins
  • Add per-element customization (fonts, colors, borders per frame)
  • Improve skin preview/testing tools
  • Add import/export for skin configurations

Installation: Copy to World of Warcraft\_retail_\Interface\AddOns\AbstractUI\
Support: Report issues on GitHub or Discord
Compatibility: WoW 12.0.5 (The War Within)