UNIT AURA

Fires when a buff, debuff, status, or item bonus was gained by or faded from an entity (player, pet, NPC, or mob.)
 UNIT_AURA: unitTarget, updateInfo
==Payload==
:;unitTarget: : UnitId
:;updateInfo: : Optional table of information about changed auras.
==Details==
* The extended payload can be supplied to the AuraUtil.ShouldSkipAuraUpdate function alongside a predicate function to determine if a consumer of this event may skip further processing of the event as a performance optimization.
==Example==
The aura InstanceIDs can be used to efficiently process aura updates and is queried with .
local count = 0
local function OnEvent(self, event, unit, info)
	count = count + 1
	if info.isFullUpdate then
		print("full update") -- loop over all auras, etc
		return
	end
	if info.addedAuras then
		local t = {}
		for _, v in pairs(info.addedAuras) do
			tinsert(t, format("%d(%s)", v.auraInstanceID, v.name))
		end
		print(count, unit, "|cnGREEN_FONT_COLOR:added|r", table.concat(t, ", "))
	end
	if info.updatedAuraInstanceIDs then
		local t = {}
		for _, v in pairs(info.updatedAuraInstanceIDs) do
			local aura = C_UnitAuras.GetAuraDataByAuraInstanceID(unit, v)
			tinsert(t, format("%d(%s)", aura.auraInstanceID, aura.name))
		end
		print(count, unit, "|cnYELLOW_FONT_COLOR:updated|r", table.concat(t, ", "))
	end
	if info.removedAuraInstanceIDs then
		local t = {}
		for _, v in pairs(info.removedAuraInstanceIDs) do
			tinsert(t, v)
		end
		print(count, unit, "|cnRED_FONT_COLOR:removed|r", table.concat(t, ", "))
	end
end
local f = CreateFrame("Frame")
f:RegisterEvent("UNIT_AURA")
f:SetScript("OnEvent", OnEvent)
The payload can contain any combination of addedAuras, updatedAuraInstanceIDs and removedAuraInstanceIDs.
==Patch changes==
==References==