Shadowed Unit Frames

Another example

SUF focuses on a simple configuration while maintaining the flexibility that most users will care about, preventing unnecessary bloating of the addon that sacrifices performance. While you aren't going to be able to set the health bar to be exactly 3.14 pixels outside of the unit frames, you can change options you actually care about such as bar height, ordering, frame height and so on. To speed up configuration, you can configure multiple units at the same time through the global configuration. For example, if you want to set the height of the Player, Target, Focus and Party frames to 50 then the height of Target's Target, Target's Target of Target, Focus Target to 30 you can easily do this by changing two options instead of having to do it seven times.

However, should you need a little bit of extra configuration do not despair! An advanced option is included that will unlock additional configuration giving finer control over the configuration.

Shadowed Unit Frames in Legion
As of version v4.1.0, WoW 7.0 and Legion is fully supported!

Slash commands: /shadoweduf (/suf)

Donations are not required, but are appreciated!

Are you driven crazy by your party frames not aligning up exactly with your player frames, even if it's only half a pixel off? The anchoring system will let you solve all alignment issues, by allowing you to anchor a frame to another and set a simple offset from the frame it is anchored to, or by manually setting the X/Y position of the frame.

Using the screen shot as an example, if you drag the player frame the other frames will move with the player frame preserving the alignment and spacing. Each frame can still be manually positioned wherever you want, but this gives you a way of easily anchoring and moving frames around without having to use a ruler.

Zone configuration (Disabling options/units by zone type)
Units and modules can be enabled or disabled based on the type of zone you are in. For example, if you want to see party targets and party pets while you are in an arena but nowhere else then you can use the visibility options to enable it only while inside an arena. Modules can also be disabled by zone type, if you want to see party auras while in a raid instance but nowhere else you can disable the module in raid instances only.

Profiles do not have to be swapped and it is all automatic.

Supports unit frames are as follows:

Player: Player, Pet, Pet Target
General: Target, Target of Target, Target of Target of Target, Focus, Focus Target
Party: Party, Party Pets, Party Targets, Party ToT
Raid: Raid, Raid Pet, Main Tank, Main Tank Target, Main Assist, Main Assist Target, Boss, Boss Target, Boss ToT, Main Assist ToT, Main Tank ToT
Arena: Arena, Arena Target, Arena Pets, Arena ToT
Battleground: Battleground, Battleground Target, Battleground Target


  • Tags: Includes a simple tagging system that can be customized in virtually any way using Lua, even if something isn't included by default odds are you can make the tags
  • Incoming Heals: Supports the Blizzard Events for incoming heal data, no external libraries needed
  • Auras: Can be set to only show auras you casted, or can cast on others. Can enlarge auras that you casted, and hide the cooldown ring on the timers of auras you didn't cast as well to make it more obvious which ones you casted and which ones you didn't
  • Aura Timers: You will need a mod such as OmniCC to show timers on buffs and debuffs
  • Aura Indicators: Display colored squares or icons for certain auras on any unit
  • Fader: Fades frames when out of combat and inactive (100% mana/no target)
  • Class Power (Eclipse, Holy Power, etc): Supports all of the class power features from Eclipse to Burning Embers.
  • Highlighting: Border highlighting of frames based on mousing over them, curable debuffs, aggro or you are targeting/focusing them
  • Range Checking: Fades frames out that are out of range of you
  • Exportable Layouts: If you have a layout, or your friend has a layout you want to try out you can export/import SUF layouts by going to /suf -> Layout Manager
  • Profiles: You can change from any profile to another one without reloading your UI, should you want to use a completely different layout based on zone you can easily switch profiles without hassle

Pretty much all the general unit frame settings are in, health bars, cast bars, power bars, portraits, indicators and so on.

Basic module support is included, should you be interested in building a module see the documentation on github for more information.

Currently released:


Please focus all discussions, questions or general feedback to the forum thread:

For feature requests and bug reports, please continue to use the Ticket tracker. Feel free to ask on the thread first, if you're unsure what to do!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of akba akba Apr 01, 2010 at 21:23 UTC - 0 likes

    You could write to me tags for reception of distance to the mob? plz

  • Avatar of FrankSpencer FrankSpencer Mar 31, 2010 at 09:24 UTC - 0 likes

    Excellent mod guys, very happy with it so far, including the Raid display. However, I don't seem to be able to get the raid display to appear in battlegrounds. The party frame recognises you are in a raid and disappears, but the raid frame does not appear - am I doing something wrong?

  • Avatar of Kumashy Kumashy Mar 31, 2010 at 09:19 UTC - 0 likes

    Hello Shadow,

    Love your unitframes, great job with them :)

    I have a quick question, I wanna create a new tag to show Percent of Experience in one of my bars, what would be the code for that?

    Thanks in advance, and again, great job.

  • Avatar of 7MM3 7MM3 Mar 27, 2010 at 06:29 UTC - 0 likes

    I love SuF. I swapped to it from X-Perl about with the release of 3.2, and it has served me so well. Recently I have been trying to get it to show a select buff of mine(Rejuvenation) on my Raid unit. Now I managed to do this, but it was a really sloppy work around, that makes a mess all over my raid frames when I'm in a raid on any of my alts using the same layout.

    This mess would be easily avoidable if there was some way that I could apply both my Whitelist(Which would contain just Rejuv) to my buffs of the Raid unit, while I apply the Blacklist(Which has alot of misc clutter debuffs such as Chilled to the Throne and various quest things) to my debuffs of the Raid unit.

    I'm not sure if this was intended or not, but it only allows you to select one or the other, not both. If there is some way to select both, or perhaps a workaround you know of that would allow this?

  • Avatar of wmd wmd Mar 25, 2010 at 17:11 UTC - 0 likes

    This is a great addon and I really appreciate your effort. However it would be nice if you could redesign the way the frames are moved. The amount of stuff that it shows me when I am trying to set it up for the first time is overwhelming, and some of the things (eg raid and party frames) I want to occupy the same location on the screen. If there were a section for unlocking each type of frame individually this would be much easier to set up and tweak.

    Also, the raid frame will occasionally bug out and stay locked to the mouse cursor ( /reloadui fixes) when the party frames and raid frames are overlapping.

  • Avatar of Tsuro Tsuro Mar 24, 2010 at 03:41 UTC - 0 likes

    just updated and when i join a group the group bars dont show up and i get this error

    Date: 2010-03-23 23:38:38 ID: 1 Error occured in: Global Count: 1 Message: ..\FrameXML\SecureTemplates.lua line 624: bad argument #1 to 'strupper' (string expected, got nil) Debug: [C]: ? [C]: strupper() ..\FrameXML\SecureTemplates.lua:624:




    ..\FrameXML\SecureTemplates.lua:918: SecureGroupHeader_Update()

    ..\FrameXML\SecureTemplates.lua:616: ..\FrameXML\SecureTemplates.lua:614

    [C]: SetAttribute()



    ..\FrameXML\SecureTemplates.lua:918: SecureGroupHeader_Update()



    [C]: SetAttribute()



    ..\FrameXML\SecureTemplates.lua:918: SecureGroupHeader_Update()



    [C]: SetAttribute()



    ..\FrameXML\SecureTemplates.lua:918: SecureGroupHeader_Update()



    [C]: SetAttribute()

    ...terface\AddOns\ShadowedUnitFrames\modules\movers.lua:220: Enable()

    ...terface\AddOns\ShadowedUnitFrames\modules\movers.lua:404: Update()



    (tail call): ?

    [C]: ?

    [string "safecall Dispatcher[2]"]:9:

    [string "safecall Dispatcher[2]"]:5

    (tail call): ?



    (tail call): ?

    [C]: ?

    [string "safecall Dispatcher[3]"]:9:

    [string "safecall Dispatcher[3]"]:5

    (tail call): ?

    ...ace\AddOns\Bartender4\libs\AceGUI-3.0\AceGUI-3.0.lua:326: Fire()\Libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:69:\Libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:58


    Swatter, v5.5.4293 (WombatII)

    NPCScan, v3.3.0.2

    NPCScanOverlay, v3.3.0.4

    Bartender4, v4.4.2

    BigBrother, v

    ClassTimer, v2.2

    ClearFont2, v2.6

    ClearFont2FontPack, v1.0

    DBMCore, v

    DebugLib, v5.1.DEV.130

    DXELoader, v

    EquipCompare, v2.12

    kgPanels, vv1.37

    LibHealComm40, v

    Mapster, v1.3.8

    MikScrollingBattleText, v5.4.75

    Omen, v3.0.7

    OmniCC, v2.5.8

    oRA2, v2.0.$Revision: 673 $

    Prat30, v3.2.10

    Prat30Libraries, v

    RatingBuster, v

    SatrinaBuffFrame, v3.1

    SexyMap, v

    ShadowedUFOptions, v

    ShadowedUnitFrames, vv3.2.5-17-ga1b734e

    SkadaAbsorbs, v1.0

    SkadaCC, v1.0

    SkadaDamage, v1.0

    SkadaDamageTaken, v1.0

    SkadaDeaths, v1.0

    SkadaDebuffs, v1.0

    SkadaDispels, v1.0

    SkadaEnemies, v1.0

    SkadaFailbot, v1.0

    SkadaHealing, v1.0

    SkadaPower, v1.0

    SkadaThreat, v1.0

    sRaidFrames, v2.0.4

    Stubby, v5.5.4293 (WombatII)

    TidyPlates, v5.9.4

    TidyPlatesCleanPlates, v1.9g

    TidyPlatesGrey, v1

    TinyTip, v0.3-Beta

    Titan, v4.3.1.30300 - Revision 331

    TitanAmmo, v4.3.1.30300

    TitanBag, v4.3.1.30300

    TitanClock, v4.3.1.30300

    TitanCoords, v4.3.1.30300

    TitanCritLine, v0.6.2

    TitanGoldTracker, v4.3.1.30300

    TitanPerformance, v4.3.1.30300

    TitanRepair, v4.3.1.30300

    TitanReputation, v3.0

    TitanVolume, v4.3.1.30300

    WIM, v3.3.2

    XLoot, v0.9

    XLootGroup, v0.6

    XRS, v3.1


    im sorry for the long post it formatted oddly

    Last edited Mar 24, 2010 by Tsuro
  • Avatar of Shadowed Shadowed Mar 24, 2010 at 02:54 UTC - 0 likes

    Are you using the [cpoints] tag?

  • Avatar of Peoii Peoii Mar 24, 2010 at 02:38 UTC - 0 likes

    While I target one player, as I move from target to target, the name information, and portrait, does not update as well. If I revert to a build before:

    [cpoints] now watches PLAYER_TARGET_CHANGED Fixed error when trying to use predicted health updates

    This fixes it.

    Changing the tag from PLAYER_TARGET_CHANGED to PLAYER_TARGET_UPDATE solves the update issue.

    Last edited Mar 24, 2010 by Peoii
  • Avatar of rantank rantank Mar 23, 2010 at 23:00 UTC - 0 likes

    Thank you muchly. that link fixed the white bar problem.


Date created
May 17, 2009
Last update
Sep 13, 2016
Development stage
  • deDE
  • enUS
  • frFR
  • koKR
  • ruRU
  • zhCN
  • zhTW
All Rights Reserved
Curse link
Shadowed Unit Frames
Reverse relationships
Recent files