MidnightUI is a complete, modular, and modern User Interface replacement for World of Warcraft.
Built for WoW 12.0+ (Midnight expansion), it prioritizes readability, performance, and a sleek aesthetic. It removes the clutter of the default Blizzard UI while retaining feature-rich functionality through a suite of integrated modules.
MidnightUI is divided into lightweight, independent modules. You can enable or disable each module individually via /mui or the AddOns settings panel.
Transform your entire interface with consistent theming across all UI elements.
Features:
- 4 Pre-defined Skins: Midnight (default), Blizzard, Glass, and Flat
- Customizable frame backgrounds and borders with independent transparency controls
- Applies consistent theming to action bars, tooltips, minimap, unit frames, and info bars
- Color customization with RGB + alpha controls
- LibSharedMedia-3.0 integration for custom textures
A powerful, fully customizable bar system for displaying critical game information at a glance.
Core Features:
- Support for unlimited custom bars with independent positioning
- LibDataBroker-1.1 compatible for third-party data plugins
- Per-bar configuration: position, size, transparency, fonts, textures, and colors
- Three alignment sections per bar: Left, Center, Right
- Click-through mode option
- LibSharedMedia-3.0 integration
Built-in Data Widgets:
| Widget | Description | Features |
|---|---|---|
| System Info | FPS, Latency, Memory | Color-coded alerts (green/yellow/red), click for details |
| Volume Mixer | Master sound control | Click to mute/unmute, mousewheel to adjust, visual indicator |
| Gold Tracker | Currency display | Shows total gold, click for character breakdown, WoW Token prices |
| Clock | Time display | 12/24hr format, daily/weekly reset timers, server/local time toggle |
| Bag Space | Inventory tracking | Free/total slots, bag type icons, color-coded warnings |
| Durability | Equipment condition | Percentage display, low durability alerts, click for repair window |
| Friends | Social tracking | Online friend count, click for detailed friend list with class colors |
| Guild | Guild roster | Online guild member count, click for roster with ranks and notes |
| Location | Zone information | Current zone name, coordinates (X, Y), instance difficulty |
| Difficulty | Instance settings | Shows current difficulty mode, click to change |
| WoW Token | Market prices | Current token price, trends, click for auction house link |
| Item Level | Character stats | Average equipped item level |
Interactive Features:
- Expandable friend and guild rosters with detailed information
- Class coloring for character names
- Zone level and coordinates
- Memory usage per addon breakdown
- Reset timer countdowns
Clean, modern action bars that remove Blizzard's default clutter while maintaining full functionality.
Features:
- Removes default artwork (Gryphons, Dragons, decorative elements)
- Applies skin theming to all action buttons
- Supports all default action bars (Main, Bottom, Right 1-2, Pet, Stance)
- Customizable button sizes and spacing
- Fade-out when not in use (configurable)
- Hotkey and macro text display options
- Combat state awareness
Enhanced minimap with modern aesthetics and improved functionality.
Features:
- Rectangular/Square minimap replacing the default circular design
- Clean borders matching current skin
- Auto-zoom functionality
- Coordinate display (X, Y)
- Cleaned-up tracking icons
- Customizable size and position
- Zone text overlay
- Clock integration
- Mail/LFG notifications
Advanced, fully customizable unit frames for all unit types with a powerful tag-based text system.
- Player Frame - Your character with health, power, and info bars
- Target Frame - Current target with hostility coloring
- Target of Target - Your target's target
- Pet Frame - For Hunters, Warlocks, Death Knights, and other pet classes
- Focus Frame - Track your focus target
- Boss Frames - Unified system for all 5 boss encounters
Tag System: Advanced text formatting with dynamic tags:
[curhp]- Current health value[maxhp]- Maximum health value[perhp]- Health percentage[curpp]- Current power (mana/rage/energy)[maxpp]- Maximum power[perpp]- Power percentage[name]- Unit name[level]- Unit level[class]- Class name[classification]- Elite/Rare status
Customization Options:
- Independent transparency: Separate alpha controls for bars and backgrounds
- Color options: Class coloring, power type coloring, custom RGB colors
- Hostility coloring: Green (friendly), Yellow (neutral), Red (enemy)
- Bar positioning: Attach bars to health, power, or info sections
- Fonts & textures: Full LibSharedMedia-3.0 support
- Size & scale: Width, height, and scale adjustments per frame
- Portrait display: 2D/3D portraits (where applicable)
- Cast bars: Position, size, color, and text customization
- Unified settings for all 5 boss frames (configure once, apply to all)
- Vertical stacking with adjustable spacing
- Group movement - all boss frames move together
- Hostility-based health bar coloring
- Raid target icon display
- Automatic show/hide based on encounter
- Matches design pattern of other unit frames
- Health and power bars
- Name and level display
- Happiness indicator (for hunter pets)
(Work in Progress - Currently Disabled by Default)
Planned Features:
- Built-in digital timers on ability icons
- Clear, readable cooldown display
- Integrates with action bars
- Customizable font and positioning
Intuitive frame positioning system for complete UI customization.
Features:
- Toggle Move Mode to unlock frames
- Visual highlights showing movable frames with colored borders
- Drag-and-drop positioning for all frames
- Nudge arrows for pixel-perfect positioning
- Reset to default position functionality
- Lock/unlock individual frames
- Preview mode showing frame boundaries
- Works with all unit frames, info bars, and minimap
Enhanced chat frame with improved readability and modern styling.
Features:
- Restyled chat frames matching current skin
- Improved text contrast
- Customizable chat frame borders
- Integrated button styling
- Copy chat functionality
- URL detection and copying
- Font and size customization
Comprehensive quality-of-life improvements and automation features to streamline gameplay.
Features:
| Feature | Default | Description |
|---|---|---|
| Fast Loot | โ ON | Enforces fast auto-loot on login |
| Hide Gryphons | โ ON | Removes decorative gryphon/dragon artwork |
| Hide Bag Bar | โ ON | Removes the default bag bar for cleaner UI |
| Auto-Repair | โ ON | Automatically repairs all items at vendors with cost reporting |
| Auto-Repair (Guild) | OFF | Use guild bank funds for repairs (falls back to personal gold) |
| Auto-Sell Junk | โ ON | Automatically sells grey (poor quality) items at merchants |
| Auto-Insert Keystone | โ ON | Automatically places Mythic Keystones into font when near pedestal |
| Auto-Delete Confirmation | โ ON | Auto-fills "DELETE" text when deleting items |
| Reveal Map | โ ON | Attempts to reveal unexplored areas on world map |
| Auto Screenshot | OFF | Takes automatic screenshots when earning achievements |
| Skip Cutscenes | OFF | Automatically skips cinematics and movies (great for alts) |
| Talent Import Overwrite | โ ON | Adds checkbox to import dialog to overwrite loadouts |
Automation Details:
- Vendor Automation: Works at any merchant with repair/sell capabilities
- Keystone Support: Shadowlands/Dragonflight (ID: 180653) and BFA (ID: 158923)
- Delete Confirmation: Works for all item types (regular, good, quest items)
- Smart Talent Import: Prevents duplicate loadout creation
First-time setup wizard for quick configuration.
Features:
- Initial setup wizard on first load
- Profile creation and management
- Quick preset selection
- Module enable/disable configuration
- Skin selection
- Frame positioning presets
- Reset to defaults option
Consistent styling for interface buttons and menus.
Features:
- Styled menu buttons (Character, Spellbook, Talents, Collections, etc.)
- Themed bag buttons
- Micromenu button styling
- Consistent hover effects
- Matches active skin
- Proper scaling and positioning
This addon includes the following libraries in the libs folder:
- Ace3 (AceAddon, AceConfig, AceDB, AceEvent, AceGUI, AceHook, AceConsole, AceSerializer)
- LibSharedMedia-3.0 (Fonts, Textures, Statusbars)
- LibDataBroker-1.1 (Data display integration)
- LibCompress (Data compression utilities)
- CallbackHandler-1.0 (Event handling)
- Download the latest release.
- Extract the MidnightUI folder.
- Place the folder into your WoW AddOns directory:
World of Warcraft\_retail_\Interface\AddOns\
- Launch World of Warcraft.
- Type
/muito open the configuration panel.
Access the full configuration menu via:
- Type
/muiin chat - Press Esc โ Options โ AddOns โ MidnightUI
/mui- Open main settings- Toggle Move Mode via the Movable module settings to reposition frames
MidnightUI/
โโโ MidnightUI.toc # Addon Metadata (Interface 12.0+)
โโโ Core.lua # Main Engine & Module Loader
โโโ LICENSE.txt # MIT License
โโโ README.md # This file
โโโ Modules/
โ โโโ BrokerBar.lua # Info Bar & Data Brokers
โ โโโ ActionBars.lua # Action Bar Customization
โ โโโ UnitFrames.lua # Unit Frame System
โ โโโ Maps.lua # Minimap Customization
โ โโโ Cooldowns.lua # Ability Cooldown Timers
โ โโโ UIButtons.lua # Menu/Bag Button Styling
โ โโโ Tweaks.lua # Quality of Life Features
โ โโโ Chat.lua # Chat Enhancements
โ โโโ Skins.lua # Skin System
โ โโโ Movable.lua # Frame Movement System
โ โโโ Setup.lua # Initial Setup Wizard
โ โโโ Frames/ # Individual Frame Modules
โ โโโ Player.lua # Player Frame
โ โโโ Target.lua # Target Frame
โ โโโ TargetTarget.lua # Target of Target Frame
โ โโโ Focus.lua # Focus Frame
โ โโโ Pet.lua # Pet Frame
โ โโโ Boss.lua # Boss Frames (1-5)
โโโ libs/ # Embedded Libraries
โโโ Media/ # Textures, Fonts, Sounds
MidnightUI is built for the Midnight expansion (12.0+) and uses the latest WoW APIs:
UnitHealthPercent()andUnitPowerPercent()for efficient resource tracking- Secure frame system for combat-safe unit frames
- State drivers for dynamic visibility control
- Enhanced event handling for smooth updates
- Party/Raid Frames: Due to major changes in WoW 12.0's secure frame API, MidnightUI does not support custom party/raid frames. We recommend using dedicated addons like Grid2, VuhDo, or ElvUI for raid frame needs.
- Combat Restrictions: Some frame movements and visibility changes are restricted during combat per Blizzard's secure frame policies.
MidnightUI welcomes contributions! If you'd like to:
- Report a bug
- Suggest a feature
- Submit code improvements
Please feel free to open an issue or pull request on the project repository.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Author: Chorthee
- Libraries: Ace3, LibSharedMedia-3.0, LibDataBroker-1.1, LibCompress
- Community: Thanks to all users providing feedback and bug reports
For support, questions, or feature requests:
- Type
/muiin-game to access settings - Check the in-game Tag Help window in unit frame options for text formatting
- Review module tooltips in the options panel for detailed feature descriptions
MidnightUI - A cleaner, modern interface for World of Warcraft: Midnight and beyond.