Addons Now Usable in Shadowlands Beta

Big changes to background textures for a huge variety of frame types, including frames that had been previously hidden in many cases.

All the addons I had (except the ones I wrote myself, which don’t use frames at all) throw constant Lua errors.

Give addon developers some time to sort this out, its really tedious work to make the necessary changes.

From MysticalOs on Twitter (via WoWhead):

1 Like

Is there currently a list of addons that are usable?

I noticed there is something strange happening when entering and leaving dungeons. The character’s level changes, and at least the standard built-in “congratulations, you have leveled up” messages don’t distinguish these fake level changes from real ones.

Has anyone solved the SetBackdrop issue yet?

I’ve been out of the loop from the main WoW addon community for a while… is there an active forum (outside of the official UI and Macro forum) where addon authors are most active? WoWInterface used to have a very active community but it appears to have died down quite a bit, ditto with Curse.

1 Like

Ok, I see the DBM team has been all over this already and uses this for a fix:

  • The frame needs to import “BackdropTemplate”
  • Set the backdrop properties in the frame.backdropInfo object
  • Call “ApplyBackdrop()” instead of “SetBackdrop()”

I’ll use an example of LibUIDropDownMenu crashing:

BFA:

f.MenuBackdrop= _G[name.."MenuBackdrop"] or CreateFrame("Frame", name.."MenuBackdrop", f)
f.MenuBackdrop:SetAllPoints()
f.MenuBackdrop:SetBackdrop({
	bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
	tile = true,
	tileSize = 16,
	edgeSize = 16,
	insets = { left = 5, right = 4, top = 4, bottom = 4, },
})

Shadowlands Beta:

f.Backdrop = _G[name.."Backdrop"] or CreateFrame("Frame", name.."Backdrop", f, "BackdropTemplate")
f.Backdrop:SetAllPoints()
f.Backdrop.backdropInfo = {
	bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background-Dark",
	edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
	tile = true,
	tileSize = 32,
	edgeSize = 32,
	insets = { left = 11, right = 12, top = 12, bottom = 9, },
}
f.Backdrop:ApplyBackdrop()
2 Likes

If you want your addon backwords compatible, where it works on 8.x and 9.x, you’re going to have to go a little bit deeper than just specifying “BackdropTemplate” in your frames.

I found examination of the code in Leatrix Plus some help here. If you use a variable for the frame rather than specifying “BackdropTemplate” constant, it will work on 8.x if the variable is NIL. This allows you to do some version checking and set the variable to “BackdropTemplate” if the tocversion is 90000 or higher, or set it to NIL if not.

This seems to have worked for the addons I’m updating, which don’t have a lot of frames.

Here is the code I’m using, and have no problems so far using the Addon in Classic, BfA, or the Shadowlands Beta with the same code

local wowversion, wowbuild, wowdate, wowtocversion = GetBuildInfo()
local wowtextversion
if wowtocversion and wowtocversion < 19999 then wowtextversion = "Classic" end 
if wowtocversion and wowtocversion > 19999 and wowtocversion < 90000 then wowtextversion = "Retail" end 
if wowtocversion and wowtocversion > 90000 then 
	wowtextversion      = "Beta"
	AddonBackdropTemplate = "BackdropTemplate"
end 
local f = CreateFrame("Frame", "MyAddon", UIParent, AddonBackdropTemplate)
1 Like

Is there any possibility of changes for addons effecting friendly nameplates inside instances? I understand why is was changed back in 7.2 because people were using it to trivialize mechanics but fully removing all of the functionality seems like a pretty broad solution.

Because add-ons are new and most likely not fully functional. If they bug yes it could effect several other things in game. Example I installed a couple add-ons and couldn’t open my bags after, none of which were a bag add-on but they got effected.

Not able to find the blue post atm. They removed backdrops and add-on creators need to apply them to their code to work.

This is inaccurate.

Instead of always creating backdrops on every frame, they require each frame to explicitly inherit backdrops. There is no change in functionality, only the default setting has been changed in an effort to improve performance.

1 Like

This can all be done on a single line really

local f = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate")

why? Is wow so hard you need an addon to tell you how many more horns you gotta collect or where your coords are or a hint to everything? They seriously make the game to damn simple

you know you could have just copied what blizzard are doing?
CreateFrame( "Frame", "framename", parentframe, BackdropTemplateMixin and "BackdropTemplate" )

works in all clients because BackdropTemplateMixin only exists in the new clients whose frames now need to inherit the new BackdropTemplate as well

edit: oops, didnt realise this had already been posted

Why are people still like this? You do know that addons are used for a lot of different things, other than DBM or Damage Meters, right? There are

  • Button and UI managers for aesthetic purposes
  • Bag management
  • Transmog enhancements
  • Tooltip improvements
  • Battle Pet Journal overhaul
  • Hunter Stable improvement
  • Junk sellers
    etc
6 Likes

I just got beta access, copied my characters that I drive like Cadillacs and I found myself here because too many lua errors. I realize addons may not function correctly in a beta of the game I was just checking the date to see how long it’s been since addons were made available.

I’m going to keep tinkering with it to get the addons working but sadly I cannot accurately test the game and I want to help test the game. I know the game developers are working their butts off to get the game ready to package and ship and I’m rooting for them!

I atleast need bartender4 functioning that’s where all my keybinds are for my mouse. Weakauras 2 would be nice so I could run the m+ but hopefully I can get bartender4 working. It’s just late tonight.

“Uh you need addons to play the game?”

Yup, I need bartender4.

1 Like

Bartender has a beta version available, need to grab that instead of the release version.

This will be the case for many, MANY addons right now.

Forgive me if I misunderstood but it almost sounds like you believe blizzard is in charge of your addons. They are made by the community, if you need addon assistance you need to check with the developers through curseforge, discord or wherever else they distribute from.

I have to agree with this. Addons are developed by the community. With how much is continually changing in the Beta and PTR, you can hardly expect that an addon will remain up to date for more than a few days. Cut the guys some slack. Blizzard has a hard time sorting out where we are all going, but the addon developers are stuck trailing them.

Not to mention the fact that there are some addon developers without beta access. Some things can be tested on PTR but some need level 60 character to make sure it all works.

And while I use addons on live, in a test enviroment like Beta, its hard to rule out what is a bug on Blizzard’s end versus what is addon induced.