Unable to load animations from owned Roblox bundle

Steps to recreate the issue:

  1. Equip a Roblox animation bundle, like for example the Rthro one since it’s free
  2. 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 don’t think you can anyways with the animation security feature.

1 Like

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

1 Like

it does so with humanoid descriptions when the player loads in

2 Likes

When I tried to replicate that in my script I kept getting the sanitized ID error though which is quite odd

You can load these but not like that

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.

1 Like

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 :slight_smile:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.