Roblox default animation overrides custom animation

Hello, I’ve recently run into an issue where the client’s animation gets overridden by the server but, the client still sees the correct animation. From my understanding, all animations are replicated automatically given that Animator is a child of Humanoid. This remains true in this particular case. I’ve spent a total of two hours trying to figure this out and have not come close to what might be causing this.

External Media

1:11 - End of Video (when the issue occurs)
Here’s the link of the video doesn’t work for you: https://streamable.com/dz3yq

Appreciate the help.

1 Like

It seems just like a simple issue of Priority. In the Animation Editor, click Edit, and increase the priority. All default animations have the priority of Core, so anything above that should be good. I would recommend using the Idle priority for this, so you can have Action and Movement priority animations play over it as you need.

4 Likes

I thought as much. All animations are set to Enum.AnimationPriority.Action.

This is how I “preload” my animations.

-- In a module script
local tool1 = {}

-- Animation References
-- Format: {id, Looped, Priority, Speed, name}
tool1.Animations = {
	["Idle"] = {animationid, true, Enum.AnimationPriority.Action, 2, "Idle"},
	["Guard"] = {animationid, false, Enum.AnimationPriority.Action, 2, "Guard"},
	["Sprinting"] = {animationid, true, Enum.AnimationPriority.Action, 1, "Sprinting"},
	["Aiming"] = {animationid, true, Enum.AnimationPriority.Action, 1, "Aiming"},
	["Reloading"] = {animationid, false, Enum.AnimationPriority.Action, 3, "Reloading"},
	["Firing"] = {animationid, false, Enum.AnimationPriority.Action, 1, "Firing"},
	["Equip"] = {animationid, false, Enum.AnimationPriority.Action, 3, "Equip"},
	["Unequip"] = {animationid, false, Enum.AnimationPriority.Action, 3, "Unequip"},
	["Walking"] = {animationid, true, Enum.AnimationPriority.Action, 1, "Walking"},
	["Roll"] = {animationid, false, Enum.AnimationPriority.Action, 1, "Roll"},
	["Jump"] = {animationid, false, Enum.AnimationPriority.Action, 1, "Jump"}
}

return tool1
-- In a local script
function toolAnimations_populate(tab) -- tab is the module script relating to that tool
	table.insert(toolAnimations,1,currentTool) -- toolAnimations is a table in the same script defined above
	toolAnimations[currentTool] = {}
	-- Format: {id, Looped, Priority, Speed}
	for i,v in pairs(tab.Animations) do
		toolAnimations[currentTool][i] = function()
			local animation = Instance.new("Animation")
			animation.AnimationId = 'rbxassetid://'..tostring(v[1])
			local animationTrack = Humanoid:LoadAnimation(animation)
			animationTrack.Looped = v[2]
			animationTrack.Priority = v[3]
			animationTrack:AdjustSpeed(v[4])
			animationTrack.Name = v[5]
			animationTrack:Play()
		end
	end
end
1 Like

Well I ran into the same problem too but I luckyly found this topic. I had already set my priority to the action but the default animation runs over my animation. I use I tool and when I equip it it plays an animation. And the animation stays there. Totally fine until the normal roblox animation starts playing a new animation. When it starts playing a new animation my custom animation stops. here is a video that should explain it:

robloxapp-20200822-1827207.wmv (1.6 MB)
The video may look really laggy because I used roblox’s record button

I would really appreciate it if someone helpes me.

1 Like