Changing the animator script's animations during runtime don't replicate

So a method i decided to use to change a character’s animations when they sprint is to simply change the Animator’s walk and run animation id’s. Which works perfectly, until you get to an actual server, where only the client sees the animations. Even when reverted the character’s walk and run animations become just the stiff default pose

Test code on a local script attempt
local Character = game.Players.LocalCharacter
local defaultRun = Character.Animate.run.RunAnim.AnimationId
local newrunanim = "rbxassetid://6175940412"
function runchange(val)
	if val == true then
		Character.Animate.run.RunAnim.AnimationId = newrunanim
		Character.Animate.walk.WalkAnim.AnimationId = newrunanim
		wait()
		hum:ChangeState(Enum.HumanoidStateType.GettingUp) --- using this to force it to update the animation
	else
		Character.Animate.run.RunAnim.AnimationId = defaultRun
		Character.Animate.walk.WalkAnim.AnimationId = defaultRun
		wait()
		hum:ChangeState(Enum.HumanoidStateType.GettingUp) --- using this to force it to update the animation
	end
end

char.Internal.Running.Changed:Connect(runchange)

I have also tried doing the same from the server. Which also works just fine, but causes the animator to stop replicating the two animations just the same.

Does anyone know of a way to change the core animations during gameplay while not causing it to stop replicating?

I actually ran into a similar problem, sadly i could not find a solution to this method, so i used a different method.
Basically just set the run animation’s priority to action or movement, and then play it on the character whenever they start running (And stop it whenever they jump or stop moving).

2 Likes