BetterAddonList
Fancy up the default AddOn List! Inspired by ACP by sylvanaar and it predecessors.
BetterAddonList has the following enhancements:
- Search!
- Move the panel.
- Create sets that allow you to quickly enable or disable groups of addons. Including multiple sets in one allows you to create base sets of addons for enabling across multiple characters.
- Shift-click the check box to "protect" an addon, preventing it from getting disabled.
- Enabled addons with missing or disabled dependencies are shown in red.
- Load AddOn button is always shown for unloaded load on demand addons.
- See how much memory enabled addons are using.
Slash Commands
/addons - show the addon list, /bal and /acp can also be used
/addons load [set] - enable only the addons in a set, other addons are disabled
/addons enable [set] - enable addons in a set
/addons disable [set] - disable addons in a set
/addons save [set] - save all enabled addons to a set
/addons delete [set] - delete a set
/addons disableall - disable all addons
/addons reset - Reset addons to what was enabled at login
Protected addons will never be disabled.
-
View User Profile
-
Send Message
Posted Oct 8, 2025This sounds dumb but how do I add or remove addons from an existing set? As far as I can tell, all I can do is make a new set for what I'm currently running?
-
View User Profile
-
Send Message
Posted Aug 17, 2025Hey, thanks for the addon. Getting this lua error atm:
1x ...eBetterAddonList/BetterAddonList_Classic.lua:732: attempt to call method 'SetVertexColor' (a nil value)
[BetterAddonList/BetterAddonList_Classic.lua]:732: in function <...eBetterAddonList/BetterAddonList_Classic.lua:624>
[C]: in function 'AddonList_Update'
[Blizzard_AddOnList/Classic/AddonList.lua]:503: in function <...faceBlizzard_AddOnList/Classic/AddonList.lua:482>
[C]: ?
[C]: in function 'Show'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:603: in function 'SetUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:409: in function 'ShowUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:316: in function <...IParentPanelManager/Classic/UIParentPanelManager.lua:312>
[C]: in function 'SetAttribute'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:1093: in function 'ShowUIPanel'
[*GameMenuFrame.xml:106_OnClick]:3: in function <[string "*GameMenuFrame.xml:106_OnClick"]:1>
Locals:
numAddons = 126
(for index) = 4
(for limit) = 19
(for step) = 1
i = 4
entry = AddonListEntry4 {
memory = 2046.388672
LoadAddonButton = AddonListEntry4Load {
}
Status = AddonListEntry4Status {
}
Reload = AddonListEntry4Reload {
}
}
checkbox = AddonListEntry4Enabled {
state = 1
}
title = AddonListEntry4Title {
}
status = AddonListEntry4Status {
}
lockIcon = Button {
}
memIcon = Button {
}
addonIndex = 4
enabled = true
depsEnabled = true
memory = 2046.388672
usage = 0.249803
(*temporary) = nil
(*temporary) = AddonListEntry4Enabled {
state = 1
}
(*temporary) = 1
(*temporary) = 1
(*temporary) = 1
(*temporary) = "attempt to call method 'SetVertexColor' (a nil value)"
MAX_ADDONS_DISPLAYED = 19
_G = <table> {
ERR_OUT_OF_CHI = "Not enough chi"
DH_HAVOC_CORE_ABILITY_2 = "Strong melee attack that consumes Fury. If it critical strikes, some Fury is refunded."
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
LE_GAME_ERR_CHAT_RAID_RESTRICTED_TRIAL = 798
SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
LE_GAME_ERR_PET_SPELL_TARGETS_DEAD = 413
CENSUSPLUS_WORGEN = "Worgen"
InspectFrameTab1HighlightTexture = InspectFrameTab1HighlightTexture {
}
ContainerFrame3Item24SubIconTexture = ContainerFrame3Item24SubIconTexture {
}
ArmoryQuestLogRequiredMoneyFrameGoldButtonText = ArmoryQuestLogRequiredMoneyFrameGoldButtonText {
}
MultiBarLeftButton7 = MultiBarLeftButton7 {
}
CompactRaidGroup1Member4OverHealAbsorbGlow = CompactRaidGroup1Member4OverHealAbsorbGlow {
}
LE_GAME_ERR_INVALID_FOLLOW_PVP_COMBAT = 365
MerchantItem4AltCurrencyFrameItem1Text = MerchantItem4AltCurrencyFrameItem1Text {
}
OPTION_SHOW_ACTION_BAR5_TOOLTIP = "Attached to the left side of Action Bar 4 by default"
BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
INSTANCE_UNAVAILABLE_OTHER_TEMPORARILY_DISABLED = "%s cannot enter. This instance is temporarily disabled."
ArmorySpellButton5 = ArmorySpellButton5 {
}
MultiBarBottomRightButton8Shine5 = MultiBarBottomRightButton8Shine5 {
}
ERR_NOAMMO_S = "%s"
ArmoryMainHandSlot = ArmoryMainHandSlot {
}
TitanPanelInformantButtonRightClickMenuButtonHighlightTexture = TitanPanelInformantButtonRightClickMenuButtonHighlightTexture {
}
LE_GAME_ERR_RECRUIT_A_FRIEND_FAILED = 1018
CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight = CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight {
}
LE_GAME_ERR_ONLY_ONE_QUIVER = 33
Outfitter.TooltipLib.TooltipTextRight9 = Outfitter.TooltipLib.TooltipTextRight9 {
}
questieLineFrame38 = questieLineFrame38 {
}
LibDBIcon10_BugSack = LibDBIcon10_BugSack {
}
CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfilesSaveButton {
}
AUCTIONATOR_L_DEFAULT_LIST_HEADER = "Default Shopping List"
ACTION_SPELL_MISSED_POSSESSIVE = "1"
ArmoryTalentFrameBranch2 = ArmoryTalentFrameBranch2 {
}
QuestieFrame776Glow = QuestieFrame776Glow {
}
TitanPanelVolumeControlFrameDialogTitle = TitanPanelVolumeControlFrameDialogTitle {
}
ContainerFrame4Item16Cooldown = ContainerFrame4Item16Cooldown {
}
AceGUITabGroup3Tab1Middle = AceGUITabGroup3Tab1Middle {
}
WL_DESC_LOCATION = "Show/hide your location in a movable tooltip."
WowTokenRedemptionFrameBg = WowTokenRedemptionFrameBg {
}
SPELL_FAILED_CUSTOM_ERROR_152 = "You must choose a specialization to use Ascendance."
LAG_TOLERANCE = "Lag Tolerance"
GuildControlPopupFrame = GuildControlPopupFrame {
}
linePool.playButton48 = linePool.playButton48 {
}
SendStationeryBackgroundRight = SendStationeryBackgroundRight {
}
AUCTIONATOR_L_HIDE = "Hide"
MultiBarLeftButton9Border = MultiBarLeftButton9Border {
}
LE_GAME_ERR_NOT_ON_TOURNAMENT_REALM = 900
UIWidgetCenterDisplayFrameText = UIWidgetCenterDisplayFrameText {
}
BuffButton3 = BuffButton3 {
}
OPTION_TOOLTIP_SHOW_ACCOUNT_ACHIEVEMENTS = "Turning this option on will only display your character achievements when people inspect you or use the Blizzard website or mobile app."
UNCHECKED_ENABLED = 2
OPTION_TOOLTIP_FIX_LAG = "Enabling this reduces user interface lag, but may drastically reduce frame rates."
VOICEMACRO_8_Tr_1_FEMALE
-
View User Profile
-
Send Message
Posted Aug 10, 2025Thank you!
-
View User Profile
-
Send Message
Posted Aug 9, 2025Thank you!
-
View User Profile
-
Send Message
Posted Aug 9, 2025Classic set saving should be working again with 1.4.3
-
View User Profile
-
Send Message
Posted Aug 9, 2025would be nice if you can update it to mop
-
View User Profile
-
Send Message
Posted Aug 9, 2025Checkboxes do not work at all or completely different ones are pressed. So there is no way to switch add-ons in game, only through profiles.
-
View User Profile
-
Send Message
Posted Aug 9, 2025In reply to born2slip: Fixed in 1.4.1, yikes
-
View User Profile
-
Send Message
Posted Aug 9, 2025In reply to nebula169: much appreciated
-
View User Profile
-
Send Message
Posted Aug 9, 2025Every time i try click an addon it clicks another one, unless i have pre saved profiles i cannot swap addons.
-
View User Profile
-
Send Message
Posted Aug 8, 2025I like the ## Category implementation that Blizzard added to the .toc files, makes it much easier to see adding that are sorted nicely. I wish all add-on authors used them ;)
-
View User Profile
-
Send Message
Posted Aug 8, 2025I wish there was some way to compare the add-on list that is currently loaded, to a saved list. Presently, I have to save to a temporary list, then alternate back and forth to try and figure out the differences. Is there a way to implement such a feature?
Thank you.
-
View User Profile
-
Send Message
Posted Aug 9, 2025In reply to dblanch369: I added a submenu to show changes from the currently enabled addons in 1.4.2
-
View User Profile
-
Send Message
Posted Aug 8, 2025I pushed an update for retail to restore some of the functionality the category update broke. I'll try and look at classic in the next few days to see what's going on there
-
View User Profile
-
Send Message
Posted Aug 2, 2025would be nice if you can update it to mop
-
View User Profile
-
Send Message
Posted Jul 27, 2025I miss this addon...
-
View User Profile
-
Send Message
Posted Jul 4, 2025Having the same issue as Bumperjumper1515.
Save does not update a set
I'm on MoP classic, addon worked fine for Cataclysm classic, now after prepatch it no longer does.
-
View User Profile
-
Send Message
Posted May 7, 2025update plz
-
View User Profile
-
Send Message
Posted Mar 5, 2025I tried the most recent update but it's still not working with Anniversary. I can't delete sets and when I "save" a set it doesn't actually save anything, just keeps loading the same set of addons over and over.
-
View User Profile
-
Send Message
Posted Feb 11, 2025Can we get a working version for anniversary? It won't save lists, let me rename lists or work properly.