Shadowed Unit Frames (2024)

Shadowed Unit Frames

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 WoW Classic
There is in-development Beta versions available for WoW Classic!

Note that WoW Classic does not provide all the information that you might be used to:

  • There is no Focus Frame
  • Information about the HP of enemies is not available, and they'll show as 100 HP
  • Cast Bars for anyone but the player himself are not available
  • Debuffs have no duration information

Some of this data can be restored with additional libraries/addons, but it'll always be guesswork and potentially inaccurate. Shadowed Unit Frames comes bundled with LibClassicDurations for debuff durations. Mob HP can be provided by Real Mob Health, which you need to install manually.

Note on copying your layout from Retail to Classic:
In general you cannot copy your layout between the two versions, since they are quite different, and doing so will result in certain elements exclusive to one version (like Pet Happiness on Classic) not always working properly. There are some provisions in the code that makes copying from Retail to Classic mostly work, use at your own risk - however, never copy a Layout from Classic to Retail, this will absolutely result in the Class-specific power bars and other elements not available on Classic to cease to function.

Slash commands: /shadoweduf (/suf)

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

Units
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

Features

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

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

Feedback

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!

Comments

  • 1
  • 2
  • 3
  • 4
  • 5
  • 154
  • Next
  • Malicone

    • Join Date: 12/7/2020
    • Posts: 5
    • Member Details

    #5527 Malicone

    • View User Profile
    • Send Message
    Posted Jun 22, 2024

    Any chance Retail 11.0.0.?

  • Supernovadusts

    • Location: Montreal
    • Join Date: 9/30/2009
    • Posts: 1
    • Member Details

    #5526 Supernovadusts

    • View User Profile
    • Send Message
    Posted Jun 15, 2024

    Quote from godsyn >>

    Quote from stellarharbour:

    How to show Dungeon Finder role in SUF?

    I'd also like this functionality.

    Me too please !

  • TastyApple

    • Join Date: 2/24/2023
    • Posts: 0
    • Member Details

    #5524 TastyApple

    • View User Profile
    • Send Message
    Posted Jun 11, 2024

    How would one import/export filters? And if functionality does not exist what function would one need to use to insert said filters using a external file?

  • MetalHeadTwo

    • Location: Anaheim
    • Join Date: 10/25/2011
    • Posts: 22
    • Member Details

    #5523 MetalHeadTwo

    • View User Profile
    • Send Message
    Posted Jun 9, 2024

    Any chance of a working version for TWW Beta?

  • pheeve

    • Join Date: 10/26/2022
    • Posts: 9
    • Member Details

    #5525 pheeve

    • View User Profile
    • Send Message
    Posted Jun 15, 2024

    In reply to MetalHeadTwo: Would be nice, even ElvUI is working in TWW lol, my guess is they want to wait till pre-release, although i wonder if the fix is just purely a one line adjustment :S

  • godsyn

    • Join Date: 4/10/2021
    • Posts: 7
    • Member Details

    #5522 godsyn

    • View User Profile
    • Send Message
    Posted Jun 7, 2024

    Quote from stellarharbour:

    How to show Dungeon Finder role in SUF?

    I'd also like this functionality.

  • elmo__

    • Join Date: 5/13/2024
    • Posts: 0
    • Member Details

    #5519 elmo__

    • View User Profile
    • Send Message
    Posted May 13, 2024

    Does anyone know by chance how to enable being able to ping unit frames? Trying to ping on party members or myself goes straight through onto the floor and I'd love to have that functionality

  • flamenc0

    • Join Date: 5/12/2024
    • Posts: 0
    • Member Details

    #5518 flamenc0

    • View User Profile
    • Send Message
    Posted May 12, 2024

    im druid balance on cataclysm classic and i have no eclipse bar too(

  • Sultonmrp

    • Join Date: 12/11/2019
    • Posts: 10
    • Member Details

    #5517 Sultonmrp

    • View User Profile
    • Send Message
    Posted May 9, 2024

    im playing cata classic (well pre-patch) and my druid does not have eclipse bar

  • stellarharbour

    • Join Date: 6/21/2020
    • Posts: 38
    • Member Details

    #5516 stellarharbour

    • View User Profile
    • Send Message
    Posted May 9, 2024

    How to show Dungeon Finder role in SUF?

  • holypalaswe

    • Join Date: 8/31/2007
    • Posts: 4
    • Member Details

    #5515 holypalaswe

    • View User Profile
    • Send Message
    Posted May 8, 2024

    I'm trying to something as simple as add a power colortag to the text on my unitframes, but I don't seem to be able to do this. Can't find the name of any tag that colors (mana blue, rage red, energy yellow) power.

    https://i.imgur.com/AV6UDgm.png

    Sadly not knowledgable enough to add my own tag as it seems you can do.

  • Dark_Panther___

    • Join Date: 5/2/2024
    • Posts: 0
    • Member Details

    #5514 Dark_Panther___

    • View User Profile
    • Send Message
    Posted May 2, 2024

    The group role is not displayed in my dungeon group of 5

  • SunfyreBlazing

    • Join Date: 10/17/2008
    • Posts: 76
    • Member Details

    #5513 SunfyreBlazing

    • View User Profile
    • Send Message
    Posted May 1, 2024

    Error for Cata Classic in a dungeon:

    1x [ADDON_ACTION_BLOCKED] AddOn 'ShadowedUnitFrames' tried to call the protected function 'CheckInteractDistance()'.
    [string "@!BugGrabber/BugGrabber.lua"]:481: in function <!BugGrabber/BugGrabber.lua:481>
    [string "=[C]"]: in function `CheckInteractDistance'
    [string "@ShadowedUnitFrames/modules/range.lua"]:53: in function <ShadowedUnitFrames/modules/range.lua:33>
    [string "@ShadowedUnitFrames/modules/range.lua"]:100: in function `?'
    [string "@ShadowedUnitFrames/modules/units.lua"]:21: in function `FullUpdate'
    [string "@ShadowedUnitFrames/modules/units.lua"]:342: in function <ShadowedUnitFrames/modules/units.lua:342>

    Locals:
    _ = Frame {
    RegisterEvent = <function> defined @!BugGrabber/BugGrabber.lua:487
    0 = <userdata>
    UnregisterEvent = <function> defined @!BugGrabber/BugGrabber.lua:487
    SetScript = <function> defined @!BugGrabber/BugGrabber.lua:487
    }
    event = "ADDON_ACTION_BLOCKED"
    events = <table> {
    ADDON_ACTION_BLOCKED = <function> defined @!BugGrabber/BugGrabber.lua:553
    ADDON_ACTION_FORBIDDEN = <function> defined @!BugGrabber/BugGrabber.lua:553
    PLAYER_LOGIN = <function> defined @!BugGrabber/BugGrabber.lua:547
    LUA_WARNING = <function> defined @!BugGrabber/BugGrabber.lua:562
    ADDON_LOADED = <function> defined @!BugGrabber/BugGrabber.lua:507
    }

  • comedred

    • Join Date: 4/26/2024
    • Posts: 0
    • Member Details

    #5512 comedred

    • View User Profile
    • Send Message
    Posted Apr 26, 2024

    Will you be updating SUF for Cataclysm Classic? <3

  • leifan8440

    • Join Date: 3/19/2018
    • Posts: 0
    • Member Details

    #5511 leifan8440

    • View User Profile
    • Send Message
    Posted Apr 23, 2024

    48x FrameXML/EditModeSystemTemplates.lua:535: attempt to perform arithmetic on local 'left' (a nil value)

    [string "@FrameXML/EditModeSystemTemplates.lua"]:535: in function `GetScaledSelectionSides'

    [string "@FrameXML/EditModeSystemTemplates.lua"]:507: in function `IsVerticallyAlignedWithFrame'

    [string "@FrameXML/EditModeSystemTemplates.lua"]:725: in function `GetFrameMagneticEligibility'

    [string "@FrameXML/EditModeUtil.lua"]:147: in function `GetEligibleMagneticFrames'

    [string "@FrameXML/EditModeUtil.lua"]:336: in function `GetMagneticFrameInfoOptions'

    [string "@FrameXML/EditModeUtil.lua"]:419: in function `GetMagneticFrameInfos'

    [string "@FrameXML/EditModeManager.lua"]:1061: in function `RefreshSnapPreviewLines'

    [string "@FrameXML/EditModeManager.lua"]:170: in function <FrameXML/EditModeManager.lua:168>

    Locals:

    self = BossTargetFrameContainer {

    0 = <userdata>

    UpdateMagnetismRegistration = <function> defined @FrameXML/EditModeSystemTemplates.lua:731

    GetSnapOffsets = <function> defined @FrameXML/EditModeSystemTemplates.lua:609

    systemInfo = <table> {

    }

    IsFrameAnchoredToMe = <function> defined @FrameXML/EditModeSystemTemplates.lua:694

    TrySetCompositeNumberSettingValue = <function> defined @FrameXML/EditModeSystemTemplates.lua:212

    downKeys = <table> {

    }

    GetFixedSize = <function> defined @SharedXML/LayoutFrame.lua:156

    breakSnappedFramesOnSave = true

    GetFixedWidth = <function> defined @SharedXML/LayoutFrame.lua:148

    LayoutChildren = <function> defined @SharedXML/LayoutFrame.lua:245

    GetSelectionOffset = <function> defined @FrameXML/EditModeSystemTemplates.lua:540

    ResetToDefaultPosition = <function> defined @FrameXML/EditModeSystemTemplates.lua:254

    GetScaledSelectionSides = <function> defined @FrameXML/EditModeSystemTemplates.lua:532

    SelectSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:763

    SetFixedWidth = <function> defined @SharedXML/LayoutFrame.lua:135

    GetFrameMagneticEligibility = <function> defined @FrameXML/EditModeSystemTemplates.lua:714

    UpdateSystemSettingUseLargerFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:1223

    CalculateFrameSize = <function> defined @SharedXML/LayoutFrame.lua:210

    AddLayoutChildren = <function> defined @SharedXML/LayoutFrame.lua:55

    smallSize = true

    IsBelowFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:499

    spacing = 10

    SetFixedSize = <function> defined @SharedXML/LayoutFrame.lua:143

    HasActiveChanges = <function> defined @FrameXML/EditModeSystemTemplates.lua:381

    GetScaledCenter = <function> defined @FrameXML/EditModeSystemTemplates.lua:525

    SetCastBarPosition = <function> defined @FrameXML/TargetFrame.lua:1365

    DoesSettingDisplayValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:445

    UpdateDisplayInfoOptions = <function> defined @FrameXML/EditModeSystemTemplates.lua:456

    GetSystemName = <function> defined @FrameXML/EditModeSystemTemplates.lua:822

    ProcessMovementKey = <function> defined @FrameXML/EditModeSystemTemplates.lua:39

    GetSettingValueBool = <function> defined @FrameXML/EditModeSystemTemplates.lua:436

    HasCompositeNumberSetting = <function> defined @FrameXML/EditModeSystemTemplates.lua:385

    alwaysUseTopRightAnchor = true

    IsLayoutFrame = <function> defined @SharedXML/LayoutFrame.lua:36

    DoesSettingValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:440

    MarkDirty = <function> defined @SharedXML/LayoutFrame.lua:99

    ShouldResetSettingsDialogAnchors = <function> defined @FrameXML/EditModeSystemTemplates.lua:1105

    GetChildPadding = <function> defined @SharedXML/LayoutFrame.lua:187

    dirtySettings = <table> {

    }

    isManagedFrame = true

    IsToTheLeftOfFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:481

    GetSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:465

    hasActiveChanges = false

    OnSystemLoad = <function> defined @FrameXML/EditModeSystemTemplates.lua:3

    ClearFrameSnap = <function> defined @FrameXML/EditModeSystemTemplates.lua:653

    GetCombinedCenterOffset = <function> defined @FrameXML/EditModeSystemTemplates.lua:596

    SetupSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:1198

    UpdateSystemSettingSortPlayersBy = <function> defined @FrameXML/EditModeSystemTemplates.lua:1314

    dirty = false

    SetPointBase = <function> defined =[C]:-1

    UpdateSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:330

    UpdateSystemSettingRaidGroupDisplayType = <function> defined @FrameXML/EditModeSystemTemplates.lua:1307

    Up

  • Lilmassss

    • Join Date: 3/15/2024
    • Posts: 0
    • Member Details

    #5509 Lilmassss

    • View User Profile
    • Send Message
    Posted Mar 15, 2024

    Hello , Cant hide Blizzard's arena frames :)

  • faulkal_

    • Join Date: 10/13/2023
    • Posts: 0
    • Member Details

    #5508 faulkal_

    • View User Profile
    • Send Message
    Posted Mar 14, 2024

    why doesnt the alpha of the portrait also work? or is there an option im not seeing?

  • Odysseus68

    • Join Date: 1/8/2024
    • Posts: 0
    • Member Details

    #5507 Odysseus68

    • View User Profile
    • Send Message
    Posted Mar 11, 2024

    I got this error often in my Ret Paladin:

    2x ...ceShadowedUnitFrames/modules/combopoints.lua:27: Usage: local result = GetComboPoints(unit, target)

    [string "=[C]"]: in function `GetComboPoints'

    [string "@ShadowedUnitFrames/modules/combopoints.lua"]:27: in function `GetPoints'

    [string "@ShadowedUnitFrames/modules/basecombopoints.lua"]:180: in function `Update'

    [string "@ShadowedUnitFrames/modules/combopoints.lua"]:40: in function `?'

    [string "@ShadowedUnitFrames/modules/units.lua"]:36: in function `FullUpdate'

    [string "@ShadowedUnitFrames/modules/units.lua"]:356: in function `?'

    [string "@ShadowedUnitFrames/modules/units.lua"]:214: in function <ShadowedUnitFrames/modules/units.lua:211>

    Locals:

    (*temporary) = "vehicle"

  • spikeyslife

    • Join Date: 3/7/2024
    • Posts: 0
    • Member Details

    #5506 spikeyslife

    • View User Profile
    • Send Message
    Posted Mar 7, 2024

    Thanks for the amazing addon. I did try searching but to no avail. Is there a way on HP/Power bars to remove the decimal places? For example turn 981.6k into 981k? It's overkill on some bars with our current numbers.

    Thank you :)

    Last edited by spikeyslife: Mar 7, 2024

  • wertex_

    • Join Date: 3/6/2024
    • Posts: 0
    • Member Details

    #5505 wertex_

    • View User Profile
    • Send Message
    Posted Mar 6, 2024

    Frames dont highlight magic for warlocks on curable debuffs in SoD. I tried adding line: ["WARLOCK"] = {[19505] = {"Magic"}, [19736] = {"Magic"}, [19731] = {"Magic"}, [19734] = {"Magic"}}, but it didnt work. Can we have a version to check devour magic on curable debuff?

  • To post a comment, please login or register a new account.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 154
  • Next

Posts Quoted:

Reply

Clear All Quotes

About This Project

  • Project ID

    19268

  • Created

    May 17, 2009

  • Last Released File

    Jun 27, 2024

  • Total Downloads

    17,586,023

  • License

    All Rights Reserved

Categories

Members

  • Shadowed103 Owner

  • nevcairiel Maintainer

Recent Files

WoW Retail

  • v4.4.8

    Mar 20, 2024

  • v4.4.8-1-g1976436

    Jun 27, 2024

WoW Cataclysm Classic

  • v4.3.5-classic

    May 1, 2024

  • v4.3.4-classic-7-gbca4148

    May 1, 2024

WoW Wrath of the Lich King Classic

  • v4.3.4-classic

    Feb 12, 2023

  • v4.3.3-classic-3-g680da0a

    Feb 12, 2023

Shadowed Unit Frames (2024)
Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 6165

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.