Equip a Roblox animation bundle, like for example the Rthro one since it’s free
In a new blank baseplate, add a LocalScript inside of StarterCharacterScripts and inside write:
local humanoid = script.Parent:WaitForChild("Humanoid")
local humanoidDescription = humanoid:WaitForChild("HumanoidDescription")
local animator = humanoid:WaitForChild("Animator")
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://"..humanoidDescription.RunAnimation
animator:LoadAnimation(animation)
Result: Failed to load animation - sanitized ID: rbxassetid://(the ID number)
I tried preloading the animation ID using ContentProvider’s PreloadAsync method before setting the animation’s AnimationId property as shown below, but unfortunately the error still occurred
local ContentProvider = game:GetService("ContentProvider")
local humanoid = script.Parent:WaitForChild("Humanoid")
local humanoidDescription = humanoid:WaitForChild("HumanoidDescription")
local animationID = "rbxassetid://"..humanoidDescription.RunAnimation
local animator = humanoid:WaitForChild("Animator")
ContentProvider:PreloadAsync({animationID})
local animation = Instance.new("Animation")
animation.AnimationId = animationID
animator:LoadAnimation(animation)
I also tried setting Workspace’s ClientAnimationThrottling property to both Enabled and Disabled, but the problem persisted
I checked the default animation script to see how it’s able to change the animation IDs depending on which package the player has equipped but was unable to spot how it does so
Plus I though that animations created by Roblox were exempt from the security feature since the default animations are able to be freely used elsewhere within a game
The IDs present are actually an R15 Animation folder. You can view this yourself in studio if you use InsertService. They have actually 3 animations associated with a single ID, which is why you can’t load it.
Load it via InsertService, sniff the ID you want (there are typically two Idles and one pose, you want one of the Idles) and then play it via LoadAnimation()
However, I will say, you can load bundles by just assigning them to the HumanoidDescription and doing ApplyDescription. Roblox will automatically play them.
That does work but unfortunately LoadAsset isn’t able to be used on the client-side, which is a problem since my intention is to use it for my custom character animation script so that players will be able to use the animation package they have equipped instead of only the default animations
While I can use RemoteFunctions and retrieve the animation IDs from a separate server script, I’d much rather stay close if possible to the default animation script since it’s able to function correctly on its own
Then do not attempt to LoadAnimation it and instead just change the description? I’m confused what your goal is in general honestly, and that isn’t me being snarky, I’m just genuinely confused. You should just run ApplyDescription with the new ID. If you need an example, I can provide one.
I made this post because currently the sanitized ID error is the main thing preventing me from fixing this problem:
As previously mentioned I tried extensively looking at the default animation script to see how it’s able to handle giving a player the animations of a package they have equipped, but all my attempts resulted in the error showing up
I’ll temporarily mark you as a solution since this method does work to achieve the end result, although if anyone is able to figure out an alternative that doesn’t require the use of a separate server-side script please let me know. Thank you