Properties of AnimationTrack set on the server only replicate the value when read, but the behavior is not replicated

If an AnimationTrack is created on the server, and properties such as AnimationTrack.Looped or AnimationTrack.Priority are set (on the server), then when the AnimationTrack replicates to the client, those properties appear to replicate when read from the instance and printed; however, the behavior does not replicate.

For example, if the following code is ran on the server:

local Animation = Instance.new("Animation")
Animation.AnimationId = "http://www.roblox.com/asset/?id=3695300085" 

local RunService = game:GetService("RunService")

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		while Character.Parent ~= workspace do
			RunService.Stepped:Wait()
		end
		local Track = Character.Humanoid:LoadAnimation(Animation)
		while Track.Length == 0 do --wait for animation to load
			RunService.Stepped:Wait()
		end
		Track.Looped = true
		Track.Priority = Enum.AnimationPriority.Action
		print("[Server] Priority: "..tostring(Track.Priority))
		print("[Server] Looped: "..tostring(Track.Looped))
		Track:Play()
	end)
end)

And this code is inserted into a LocalScript under StarterPlayer.StarterCharacterScripts:

script.Parent.Humanoid.AnimationPlayed:Connect(function(Track)
	if Track.Name == "Animation" then --to ignore default character animations
		print("[Client] Priority: "..tostring(Track.Priority))
		print("[Client] Looped: "..tostring(Track.Looped))
	end
end)

The following output is produced:

[Server] Priority: Enum.AnimationPriority.Action
[Server] Looped: true
[Client] Priority: Enum.AnimationPriority.Action
[Client] Looped: true

Indicating that the AnimationTrack.Priority and AnimationTrack.Looped properties should have replicated. In reality, they are not replicated, and the AnimationTrack is overwritten by the default walking animations, and it does not loop.

Note that this bug has nothing to do with the animation not being loaded yet, as I wait for the AnimationTrack to load in the above code.

To get the behavior of the properties to replicate, the following code is necessary in that same LocalScript:

script.Parent.Humanoid.AnimationPlayed:Connect(function(Track)
    Track.Priority = Track.Priority
    Track.Looped = Track.Looped
end)

Now, the behavior replicates as expected.
I’ve included a repro place with the above code. Uncomment the lines in the LocalScript to fix the bug

animation bug repro.rbxl (19.1 KB) .

5 Likes

Thanks for the report! We’ve filed a ticket to our internal database and we’ll follow up here when we have an update for you.

3 Likes

In addition to the behavior listed in the report; animations that are created/owned by a client and played on their Character, won’t have these properties replicate either. This means that the player will see animations play correctly on their own character, but other players will not.

4 Likes

I am having trouble with the same problem right now. Animation.Priority doesn’t seem to replicate, because I set it to Action on the client and the default walk animations override it on the server and other clients, but not the client it was played from. It would be soooooo helpful if Animation.Priority was replicated so that it looks the same for all clients and the server, not just the client it was started from.

Also, just it clarify, this also happens when the animation is started from the server. The server sees the animation but it gets overridden on clients.

EDIT: I’m looking back at it now, and it shows that the Priority property doesn’t have [notreplicated] but still doesn’t replicate. That’s odd. nvm, just realized that that’s what this bug report is about

1 Like

I am in the process of checking over bug reports and following up on some bugs that haven’t received any activity in a while.
Is this issue still occurring or can you confirm that this bug has been resolved?

1 Like

The issue is still occuring and the repro file provided in the first post still displays the broken behavior

3 Likes

Thanks Wsly. I appreciate it. When there are updates for this issue i will pass them along

4 Likes

Update? Its been quit awhile

2 Likes