Building an Efficient Interface: Part 2 — Unit Frames

2009 September 15

Unit frames are one of the major information sources in the game. They give you the status of your target, group, raid, self and focus target amongst other possibilities. Other information may be available, such as aura1 status, level, class, etc.

Achieving perfect unit frames is something I’ve been struggling with since the very beginning. It is comparable only with the strive towards enlightenment; or the ultimate goal in one’s life. Consequently, the unit frames can never be perfect: what works for one player typically does not work as well for others. This topic requires you to do some thinking.

Default player & target frames

Default player & target frames

What’s wrong with the defaults?

The defaults, while once again simple and an easy introduction, lack power. Some of the huge problems:

  • Bad placement
  • Too big
  • No debuff highlighting
  • Essentially no customisation

Let’s dissect these points.

Bad placement can be fixed easily by moving the frames. This isn’t supported by default, but you may run a simple macro to move most of the default frames or download an addon that unlocks the functionality. Remember, they should be central to your other UI elements.

The unit frames are large, yes, but am I just being a minimalistic elitist? Bringing back the philosophies described in part 0, we’re aiming to fit as much information as is required into as small a space as possible. Why waste precious time scanning a full screen for those raid members when you can have them all in a small, tidy space?

No debuff highlighting is a huge problem for any class who can remove any kind of status ailment2. It commonly places an overlay on the unit in question with a corresponding colour — green for poisons, for example — which allows for quick notification that something needs to be fixed fast. Another popular implementation is to use the debuff’s own icon as an overlay, rather than a coloured texture; this is more common in Grid-like raid frames.

And of course, no customisation. As I implied in the introduction, raid frames are a very personal endeavour. I have crafted countless completely different abominations over the years, and looking back some of them were truly hideous. Unit frames require a powerful level of customisation, and power usually means arcane configuration. Nevertheless, there are a number of addon packages to suit the needs of most players.

Starting Points

Once armed with an addon package (see below), you may find yourself spending hours upon hours configuring unit frames to your needs. Truthfully, it takes a long time and lots of gameplay to realise fully functional frames tailored to your needs. Certain things will only appear missing once they are put into practice. In addition to what has already been said, here are some tips to get you started.

Start by sketching out your basic idea on a piece of paper. Leave appropriate space for auras, cast bars, focus, target of target, etc. Keep in mind the needs of all classes, and don’t forget the pet bar. The final product may look nothing like the sketch, but it should give you an idea of what you need.

Auras are the single most annoying phenomenon in UF design, as they’re not always visible but you must ensure that the maximum amount will not conflict with any other interface elements. I suggest limiting them to a sane amount and/or filtering to what your character or class can cast. There’s a strong chance that if your target has 40 debuffs you don’t need to know what they are.

Try to keep the cast bars attached to their relative frame. Having them elsewhere breaks the central philosophy and is wholly unnecessary. Not all UF packages include cast bars.

Minimal does not mean illegible. Look to make the frames small and usable, not one or the other. Some extra padding is fine, so don’t try to cut everything down to the bare minimum. “Bitmap fonts” may be useful in smaller frames, but be very careful choosing one. Typographic research has shown that “square” fonts are harder to read than more rounded ones (can’t find source, but is noticeable in practice), and many bitmap fonts are square by nature. Another quirk of bitmap fonts is that you may need to scale them up or down and play with the font size in order to get it looking pixelly as intended. I use 04b_03 for raid frames and other certain UI elements

In my opinion, raid frames should provide enough information to use as group frames. If this isn’t the case, they could be better. Don’t bother using different group frames, use the raid frames. This will also help with getting used to them.

For raid frames, use indicators instead of aura displays! Indicators are another concept popularised by Grid — tiny icons or characters which display on a frame based on conditions. Using a restoration shaman as an example, you might want to have an indicator showing the number (if > 0) of earth shield charges on targets. Other uses might be to show if your HoT is on a target, a shield, or any other special buff. Indicators are extremely flexible (depending on the addon) and save a huge amount of screen space.

The rest will be up to you.

Addons

Pitbull

Pitbull is one of the older, bulkier addons. It is a project by Ckknight (Cartographer, CowTip, etc.) which uniquely and interestingly supports DogTags. It has been a long time since I used Pitbull, but it looks to have aged well. I’d recommend trying it if you’re looking to make something very specific and have no desire to do so with Lua, as Pitbull has an excellent GUI with a high level of customisation.

Grid

Grid is an innovator. Quite an old addon nowadays, it popularised (invented?) the minimal, top-to-bottom, square raid frame format. This format has been reproduced in a number of other addons, but the original remains an excellent choice.

ag_UnitFrames

Initially seen as a liter alternative to Pitbull, I’m honestly not sure where this stands anymore.

Stuf

This one’s quite a newcomer. A couple of guildies use it, and I thought it looked good until I heard them complaining every patch that Stuf has broken (?!).

Shadowed Unit Frames

I tried this recently and was very impressed. The GUI is very easy to use and it allows you to tap in your own code to customise things further. Also has modules for arena frames and the like. Shadowed UF lacked some features the last time I tried it out, but development is ongoing steadily. Highly recommended.

oUF

Without a doubt the most powerful unit frame “addon”, oUF can be thought of as more of a library. You have to create your layouts from scratch as a separate addon, though there are many pre-packaged layouts available. The great advantage of oUF is that you can do anything with it that you can do with Lua. The disadvantage is that there is no in-game customisation available: you can only use Lua.

If you want to try Lua, I strongly suggest downloading a layout and customising it to your needs. oUF_p3lim is a great start, and I used it to create my current layout: oUF_shkm. Raid frames may or may not be included in each layout; I recommend oUF_Freebgrid if not.

oUF_Nivaya

This addon deserves a special mention. It’s an oUF layout with a load on demand options interface, which means that it’s essentially a distribution oUF with a GUI. It lacked a lot of power (more so than Shadowed) last time I used it, but it’s developing well. Just don’t expect all the features of oUF in this package, think of it as any other unit frame addon if you’re unprepared to delve into Lua.

  1. The word “auras” is often used as a general term for buffs and debuffs throughout addons. Though paladin auras are considered a buff too — and thus an aura using this term — they are not strictly related.
  2. Curses, diseases, poisons, magic debuffs, etc.
8 Responses leave one →
  1. Ironshod permalink
    September 15, 2009

    Very useful discussion! It boils down, in my view, to identifying the information you need from every member of the raid or party. As a dps, I tend to want to see health and any debuffs I can take care of. As a healer I want to see health, range to me and conditions I can effect.

    In terms of raid frames vs party frames, I completely agree – there’s nothing special I want to see in the party, so I dump them ASAP. I normally find some kind of unit frames suffucient for everything – normally either Grid or Healbot. It’s worth considering Healbot if you’re a HOT caster, as it seems to have far greater capability to display these in a form that makes sense – mine is set to show the spell icon and a timer once it’s under 10 seconds – very helpful for seeing whose Rejuv is about to expire!

    The real benefit I’ve found from something like Pitbull is to remove the standard player and target frames and replace those – the two frames where you might want more detail (player because I generally dont want to see everyones mana in Grid, and target because I *do* want to see debuffs). Howver, as you say, Pitbull is heavy and can be annoying, I think I might try Shadowed for this, and leave all the raid members in Grid / Healbot.

    • September 15, 2009

      In regard to raid information, I can indeed not think of anything else required. I have health shown in numbers as deficit — which I prefer for healing — and the bar fill takes care of the rest.

      Interestingly, when I grabbed oUF_Freebgrid there was no support for showing names and health, which at first I was considering fixing myself. As time passed, I’ve grown rather fond of the lack of names. You mentioned extra information distracting and taking longer to process before, and indeed this is how I feel with showing names. That said, it has its disadvantages too: if someone calls something specific to his or her character out, you may well not know where to look.

      Another thing with this old version of Freebgrid is that many indicators are missing by default, so I had to go into the code and add them myself, which was simple but rather tedious. A very nice feature that I touched on is in adding numeric indicators. I’m not sure how commonplace these are as I haven’t used one of the “big” Grid-like addons for quite some time, but they’re basically superior versions of normal indicators if the spell in question stacks.

      I’ve never used Healbot — and I’m perfectly happy with my current setup, so I have no desire to — but the name tells me that it’s more healer-oriented. As I understand, it’s a full unit frame/click-casting suite, but how does it work with non-healing classes? Fine too?

      I’d also like to give Shadowed another try. I got bored setting it up last time as I probably wouldn’t have stuck with it anyway, and it had the very unfortunate lack of a feature to copy settings from other frames. Anyway, don’t forget the focus, ToT, ToTT (if required) and pet bars along with the player and target. Annoying to fit in, but mandatory.

  2. Ironshod permalink
    September 15, 2009

    Healbot is basically the same as Grid with far less configuration options for how it looks (there are some, but you’re limited to horizonal health bars, no power bars, etc), but it has its own built in mouseover system, so binding left, right, ctrl+shift+middle ect becomes very simple. As mentioned it also features icon displays for HOTs and charged buffs (ie stacks of Earth Shield, Water Shield etc) and so is nice for that. It works fine as a replacement unit frame as long as you dont mind the missing info (power bars etc) and lack of customisation.

    I’m interested in hearing your thoughts on ToT, ToTT, pets and so forth. I had Pitbull set up before 3.0, and never really saw a compelling use for them in healer or dps mode. A few encounters (FL) pet displays might be good, and I can see as a tank being able to quickly target someone for grabbing threat is good, but what’s the bigger picture here that justifies using up my precious screen real estate?

  3. September 15, 2009

    Alright, thanks for filling me in on Healbot.

    Depending on how you setup your unit frames, you may well not actually lose any screen real estate. As I have mine set to grow up from the lower middle, I need only ensure that other UI elements don’t overlap anything that could appear.

    In regard to each frame:

    Focus: In PvE, it’s very often useful to keep an eye on another mob. Encounters where another mob’s cast or CC is vital are rather abundant. It can also be useful to keep the other tank as focus when healing, perhaps just to highlight where he is and that he’s a healing priority. Focus can also be useful for tanking, particularly in combination with Clique, whether on friendly or hostile.

    ToT: Indispensable as a tank for obvious reasons. Useful to all for checking who has threat. Bit hard to say the actual use for this as a healer, but you may find a reason to target a mob and check its target. It can be useful if the mob applies a debuff which it quickly switches back and forth for. Along with that, you just get used to looking at it.

    ToTT: I don’t use this, simply because my layout doesn’t include it and I don’t really have the space for it. That said, I’d say it’s most useful for healers than other roles. If you’re targeting the tank, this will basically work as ToT works for everyone else. You can see the tank’s target’s target, which should usually be the tank. If not, you can predict incoming damage nicely.

    Pet: There are always small instances where the pet bar can be useful, but honestly I can’t even remember where I have it placed. For the most part, I just like to have my UI set to accommodate any class.

    In regard to size, I use the same height for all frames but half of their width. This way I have pet and focus stacked side by side above the target frame.

  4. Shadowed permalink
    September 16, 2009

    Unfortunately people never post comments like these in the actual comments so I usually have to dig around to find interesting opinions :<

    Nonetheless, Strobe the reason there is no copy feature is due to the global settings which lets you modify multiple frames at the same time which makes the need for a copying feature mainly moot.

  5. September 16, 2009

    Hello Shadowed, it’s good to hear from you.

    From a theoretical point of view, I’m not sure that changing global settings would cut it for what I wanted to do. I like to have some frames (ToT, focus, pet) exactly the same as each other, while the player and target frames are different from the latter group but almost the same as each other. Unless I’m missing something, that would then mean that global options could be set for one of those two groups but the other would require to manually tweaking each frame.

    Of course, I’m not sure how it would actually work without trying it out. I may have completely overlooked the feature when I last used your UF, or perhaps it wasn’t implemented then. In any case, I was planning to write some feedback on the addon, so maybe I’ll get around to that on the next attempt.

    Overall, though, great job :).

  6. Shadowed permalink
    September 17, 2009

    Global lets you set whatever units you want to modify, so you could check ToT, focus, and pet and any settings done under global will modify those three units, you could then check player and target and any settings done under global will modify those two units.

    Anyway! Thanks

  7. September 17, 2009

    Sounds just fine, in that case :).

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS