Okay so I found a solution to this, however it might not be one for a lot of you guys (I used Promise.lua)
--// My Util Module
local myUtil = {}
local function loadAnimation(hum, anim)
return Promise.new(function(resolve, reject)
local animTrack;
local success, output = pcall(function()
animTrack = hum:LoadAnimation(anim)
end)
if not success then
reject()
else
resolve(animTrack)
end
end)
end
function myUtil:fetchAnimTrack(hum,anim)
return Promise.retryWithDelay(
loadAnimation, 5, 1,
hum, anim
):expect()
end
return myUtil
This function safely loads any AnimationTracks and returns them.
Just run:
myUtil:fetchAnimTrack(someHumanoid, someAnimationInstance)