Skip to content

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

License

Notifications You must be signed in to change notification settings

VengeanceStudio/MidnightUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

327 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MidnightUI

WoW Version License

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.

โœจ Features

MidnightUI is divided into lightweight, independent modules. You can enable or disable each module individually via /mui or the AddOns settings panel.


๐Ÿ“‹ Module Overview

๐ŸŒ‘ Skins Module

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

๐Ÿ“Š Info Bar Module (Data Brokers)

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

โš”๏ธ Action Bars Module

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

๐Ÿ—บ๏ธ Maps Module

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

โค๏ธ Unit Frames Module

Advanced, fully customizable unit frames for all unit types with a powerful tag-based text system.

Supported Frame Types:

  • 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

Core Frame Features:

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

Boss Frames Specific:

  • 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

Pet Frame Specific:

  • Matches design pattern of other unit frames
  • Health and power bars
  • Name and level display
  • Happiness indicator (for hunter pets)

โฑ๏ธ Cooldown Manager Module

(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

๐ŸŽฏ Movable Module

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

๐Ÿ’ฌ Chat Module

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

๐Ÿ› ๏ธ Tweaks Module

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

โš™๏ธ Setup Module

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

๐ŸŽจ UI Buttons Module

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

๐Ÿ“ฆ Dependencies

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)

๐Ÿš€ Installation

  1. Download the latest release.
  2. Extract the MidnightUI folder.
  3. Place the folder into your WoW AddOns directory:
    • World of Warcraft\_retail_\Interface\AddOns\
  4. Launch World of Warcraft.
  5. Type /mui to open the configuration panel.

โš™๏ธ Configuration

Access the full configuration menu via:

  • Type /mui in chat
  • Press Esc โ†’ Options โ†’ AddOns โ†’ MidnightUI

Quick Commands

  • /mui - Open main settings
  • Toggle Move Mode via the Movable module settings to reposition frames

๐Ÿ“‚ Directory Structure

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

๐ŸŽฎ WoW 12.0+ API Changes

MidnightUI is built for the Midnight expansion (12.0+) and uses the latest WoW APIs:

  • UnitHealthPercent() and UnitPowerPercent() for efficient resource tracking
  • Secure frame system for combat-safe unit frames
  • State drivers for dynamic visibility control
  • Enhanced event handling for smooth updates

โš ๏ธ Known Limitations

  • 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.

๐Ÿค Contributing

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.

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

๐Ÿ™ Credits

  • Author: Chorthee
  • Libraries: Ace3, LibSharedMedia-3.0, LibDataBroker-1.1, LibCompress
  • Community: Thanks to all users providing feedback and bug reports

๐Ÿ“ž Support

For support, questions, or feature requests:

  • Type /mui in-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.