Is it possible to change priority of default animations?

I was wondering how to change the animation priority of the roblox default animations. Because the walk animation is core, no matter how low priority animation my idle animation, it gets fused with the default walk and run animations, instead of being cancelled out - which would only happen if the walk and run animations were higher in priority. I’m open to alternative solution if this approach is not the most effective.

2 Likes

I am not trying to change the priority of my own animations. Im trying to change the priority of the default walk and run animations that roblox created. Changing my idle animation to idle or core is not enough because the roblox walk and run animations are core anyway.

2 Likes

Experiencing this problem now, frustrating might I add ;(

why not just change the default idle animation into yours?

All animations are now set to core (for some reason, should have definitely not happened), so if I want to edit another default animation, I’m going to have to reupload (all, or that specific) roblox animations and set their priorities to the correct priority, whilst then setting all my custom animation priorities to match what overrides each other (eg: movement animations like running override idle/core).

Now I’ve had to have my own idle animation handler to disable/enable the specific animation when I’ve stopped moving / starting moving

Humanoid.Running:Connect(function(speed)
	if speed > 0 then
		for _, idle in ipairs( newAnimationMatrix.Idled ) do
			idle:Stop()
		end
	else
		newAnimationMatrix.Idled[math.random(#newAnimationMatrix.Idled)]:Play()
	end
end)

https://gyazo.com/4f528339b85cad10d9ca4f4cef331d11

so what you want to say is that while the character running your custom idle animation is runninng, and the default run animation is not right?

You do realize that you can change the default animation into any animation you want right?

I have it so it picks a random animations to play for each state of the weapon that you can possibly equip;


(Equipped = table, meaning it will pick one of those animations out of that table to play), also I’m also using a state machine to handle the animations.

I feel like I’m not getting the problem here, could you explain the problem again but more basicaly, English is not my first language so.

Basically, I am trying to play a custom Idle / Equip / Unequip / etc animation for whatever weapon I am equipping. The problem I’m having is that for the Idle animation to work correctly, because Roblox has set all of their animations to core (Running, Idle, Walking, Swimming, etc), I have to use Humanoid.Running and Play/Stop the Idle animation manually for it to function properly. In the past you just had to set the Priority to Idle and by default it would override roblox’s idle (newer loaded animations override the older loaded animations).

My point for this was that roblox did an unreasonable change that made it much harder to manage your animations to match-with / override roblox’s default animations, and as an example, especially when you are overriding them (in current times you cannot simply use priorities anymore) for purposes like custom animations like when you have a specific weapon / tool equipped.

I defenetly think that you should manualy stop the animation, but either way I got what you guys wanted

image
copy the Animate script
and paste it in the StarterPlayer.StarterCharacterScripts
then open the script and go to line 235 and change
Enum.AnimationPriority.Core to any priority you want.

Just remember that if for some reason roblox updated the animation script, you’re gonna have to update the script manualy as well

That changes the priority for all animations, which would break it further. Also wrong line number (im using R15 animate)

I made a local script in StarterCharacterScript.

local Humanoid = script.Parent:WaitForChild("Humanoid");

local Whitelist = {
	"JumpAnim",
	"FallAnim",
	"WalkAnim"
};

Humanoid.Animator.AnimationPlayed:Connect(function(AnimationTrack)
	if table.find(Whitelist, AnimationTrack.Name) then
		AnimationTrack.Priority = Enum.AnimationPriority.Action;
	end
end)