promotional bannermobile promotional banner

MidnightSimpleUnitFrames

Midnight Simple Unit Frames replaces the default unitframes with clean, minimal bars that show only the information you actually need.

File Details

MSUF_5.4

  • R
  • May 21, 2026
  • 3.54 MB
  • 2.2K
  • 12.0.7+3
  • Retail

File Name

MidnightSimpleUnitFrames5.4.zip

Supported Versions

  • 12.0.7
  • 12.0.5
  • 12.0.1
  • 12.0.0

5.4 - 2026-05-21

Highlights

  • Reworked the Castbar Menu with a dedicated live preview for Player, Target, Focus, and Boss castbars, including normal casts, channels, empowered casts, and interrupt preview states.
  • Added persistent Menu2 memory so the menu remembers what you last opened or selected across rebuilds and reopening.
  • Fully reworked Dispel / Debuff Overlay and border highlights for Unit Frames and Group Frames around one visible Highlight Priority model.

Castbars

  • Rebuilt the Global Castbars page around a more accurate preview surface that follows runtime sizing, per-unit match-width behavior, fill direction, channel ticks, empower stages, latency, spark, glow, icon visibility, spell text, cast time, and interrupt shake.
  • Added per-castbar time format controls for Player, Target, Focus, and Boss castbars.
  • Improved castbar preview fidelity for Player, Target, Focus, and Boss so menu previews line up with runtime width, height, text placement, icon placement, and cast-time rendering more closely.
  • Split Boss Castbar preview/edit-mode behavior away from runtime boss cast handling.
  • Reduced idle work in the castbar and interrupt-ready paths through tighter event gating, cached checks, and safer apply scheduling.

Menu2 and UX

  • Menu2 now persists accordion/card open states, pinned previews, dashboard panels, page selectors, tabs, selected scopes, color pickers, profile import/export choices, and other last-clicked menu state.
  • Improved Menu2 search so the search field also works as an "ask" field for location-style questions such as where to move frames, change fonts, or adjust inline text colors.
  • Added broader English and German question handling, better direct-control ranking, a first-use Search / Ask intro popover, and localized search coverage improvements.
  • Reduced menu search and navigation overhead by cancelling unused background indexing, rebuilding search records only when needed, and skipping redundant title, subtitle, status-bar, navigation, and result refreshes.
  • Improved compact menu layouts for scaled or narrow UI setups so sliders, switches, edit boxes, gameplay controls, group previews, and layout toggles clamp cleanly instead of overlapping.
  • Added live party and raid previews while editing Group Frame bar settings without taking over the normal Edit Mode group preview state.
  • Made MSUF keybinds account-wide and cleaned up quick setup styling for Class Bar actions.

Dispel, Debuff Overlay, and Highlights

  • Rebuilt Unit Frame and Group Frame dispel priority around one visible Highlight Priority order: Dispel, Aggro, Purge, Boss Target, Target, and Focus.
  • Collapsed legacy Magic, Curse, Disease, Poison, and Bleed custom sorting into the single Dispel visual lane and migrated old overlay/debuff priority settings across saved profiles.
  • Kept Dispel Border and Dispel Overlay independently enabled and configured while sharing the same resolved debuff winner, so border-only, overlay-only, and combined setups behave consistently.
  • Improved Any Debuff, Any Dispel Type, typed color mode, typed priority order, and Bleed handling so the highest-priority debuff is selected consistently.
  • Added renderer-independent Group Frame dispel highlights so MSUF can still draw priority visuals when Blizzard owns aura icons, while custom aura rendering uses the same priority path.
  • Added separate effect layers for highlight borders, dispel overlays, and debuff stripes so active visual lanes stack predictably.
  • Reduced redundant border, glow, overlay, color, reverse-fill, and status-bar updates with settings, aura-version, priority-signature, color-revision, and unit-guid cache guards.
  • Improved cleanup for retired or reused Group Frames so stale dispel/debuff visuals cannot leak into newly assigned units.

Unit Frames and Group Frames

  • Added per-indicator icon pack selection for Unit Frame and Group Frame status indicators.
  • Added status icon Advanced tabs with extended offsets, layer controls, reset actions, test mode, and preview actions.
  • Added bundled UX Pro status icons and support for external `Interface\Icons` replacement packs.
  • Improved status icon texture resolution across aura previews, aura rendering, healer buffs, spell indicators, focus kick icons, and dropdown previews.
  • Added a separate Show Cooldown Swipe control for icon-style Group Frame Spell Indicators.
  • Added Group Frame options to hide name text while units are dead or offline.
  • Moved heal prediction controls into the Bars pages and improved Group Frame heal prediction / absorb test rendering.
  • Added a global Bar Outline Color for Unit Frames and Group Frames while keeping aggro, purge, dispel, and other indicator colors independent.
  • Improved Unit Frame and Group Frame outline rendering so detached, active, preview, live, and pixel-snapped borders use consistent outside-outline behavior.
  • Added configurable Target-of-Target inline text color modes: Auto, ToT Name Color, Target Name Color, NPC / Type Color, and Default Font Color.
  • Improved Target preview rendering and runtime Target-of-Target inline color resolution for class colors, target-name colors, NPC reaction colors, NPC type colors, and default font colors.
  • Added Group Frame Blizzard fallback mode for layouts that should let Blizzard own the secure group frame path.
  • Improved Group Frame HP text handling, including reverse-order HP text, stable centered HP text, and font outline updates when face and size stay unchanged.
  • Fixed Unit Frame range alpha background bleed and kept Sated aura threshold filters fresh after aura rule changes.

Auras and Performance

  • Improved Auras2 performance by caching dispel metadata, tracking structural aura changes with epochs, and avoiding repeated filter/sort work when aura structure and configuration are unchanged.
  • Reduced Auras2 event and render overhead when the feature or all unit aura modules are disabled, including harder cleanup of inactive containers and private aura state.
  • Improved aura delta handling for added, updated, and removed debuffs so priority-based dispel visuals rescan only when relevant aura data can change.
  • Improved range-fade stability and cost by repairing unchanged layered alpha less often while still clearing stale fade state when range becomes unknown.
  • Refined low-risk runtime paths for aura commits, target-swap visuals, gameplay apply scheduling, crosshair target callbacks, and boss castbar event registration.

Localization

  • Added German labels for the new Target-of-Target inline color options.
  • Expanded runtime localization coverage for the new Menu2 search, Castbar, Group Frame, and changelog strings.

Under the Hood

  • Refactored the Group Frame effects runtime into focused modules for text, aura effects, range/threat, events, cleanup, highlights, status/offline handling, frame cache, and tooltip/mouseover behavior.
  • Refactored Auras2 into clearer cache, collection, icon, layout, Masque, cooldown-text, render, reminder, event, and edit-mode responsibilities.
  • Split Target-of-Target inline widget logic into `Core/MSUF_UFCore_ToTInline.lua`.
  • Split preview/test-mode frame behavior into `Core/MSUF_FramePreview.lua`.
  • Split Blizzard Totem Preview handling into `Features/MSUF_Gameplay_TotemPreview.lua`.
  • Split ClassPower alternate mana and Balance Druid prediction into dedicated modules.
  • Split Boss Castbar preview handling into `MidnightSimpleUnitFrames_Castbars/Modules/BossCastbars_Preview.lua`.
  • Preserved public Group Frame APIs and diagnostic wrappers while moving hot-path work behind smaller internal modules.
  • Updated release tooling and Perfy documentation so temporary instrumented builds stay separate from normal release packages.