From Wowpedia
Jump to: navigation, search

Returns information about the spell currently being cast by the specified unit.

name, text, texture, startTimeMS, endTimeMS, isTradeSkill, castID, notInterruptible, spellId = UnitCastingInfo("unit")


String - The unit to query (e.g. "player", "party2", "pet", "target" etc.)


String - The name of the spell, or nil if no spell is being cast.
String - The name to be displayed.
String - The texture path associated with the spell icon.
Number - Specifies when casting began in milliseconds (corresponds to GetTime()*1000).
Number - Specifies when casting will end in milliseconds (corresponds to GetTime()*1000).
Boolean - Specifies if the cast is a tradeskill
String - GUID-like string (an example is 3-3890-1159-21205-8936-00014B7E7F) where the second to last value is the spellID. The other values are as yet unknown.
Boolean - if true, indicates that this cast cannot be interrupted with abilities like [Kick] or [Shield Bash]. In default UI those spells have shield frame around their icons on enemy cast bars.
Integer - The spell's unique identifier. (Added in 7.2.5)


The following snippet prints the amount of time remaining before the player's current spell finishes casting.

local spell, _, _, _, endTime = UnitCastingInfo("player")
if spell then 
 local finish = endTimeMS/1000 - GetTime()
 print(spell .. ' will be finished casting in ' .. finish .. ' seconds.')


  • For channeled spells, displayName is "Channeling". So far displayName is observed to be the same as name in any other contexts.
  • This function may not return anything when the target is channeling spell post it warm-up period, you should use UnitChannelInfo in that case. It takes the same arguments and returns similar values specific to channeling spells.
  • The castID has changed (7.2.5?) from the previous ("Number - Counts the spellcast(s) since the game has loaded") and is now GUID-like string. An example is "3-3890-1159-21205-8936-00014B7E7F". The second to last value is the spell ID but the others need to be identified.
  • In Classic only casting information for the player is available. Use the CastingInfo API, which is essentially the same as UnitCastingInfo("player")

Patch changes

See also