This picture contains all context, you see the StrafingAnimations are missing entirely.
When you load in (Playtest), you have the StrafingAnimations automatically loaded in.
However if you now call CreateHumanoidModelFromDescription on that same HumanoidDescription in your Character, it won’t load the Strafinganimations, it ignores “UseStrafingAnimations”.
I’ve just stumbled upon this issue while implementing a Custom Avatar Caching + Loading System
Expected behavior
It should respect the “UseStrafingAnimations” under “Players”.
Hey, I found a workaround & a fix is not really needed.
Let me still give you a repro in case you want to look into it: StrafingRepro.rbxl (135.0 KB)
You have to copy paste the command in ServerScriptService & put it into the command bar and run it.
As you can see the Model that has been created is lacking the StrafingAnimation scripts & animations, that have been toggled to true under game.Players.UseStrafingAnimations. This boolean is only respected on the default Roblox character load in.
I fixed it in my game by just copy pasting the Strafing Animation handler directly to my custom characters
The subtlety here is that the UseStrafingAnimations is a property of Players, as opposed to any individual HumanoidDescription. Since UseStrafingAnimations is not tied to the HumanoidDescription, but rather to the experience as a whole, so CreateHumanoidModelFromDescriptionAsync() is behaving as expected.
This is a quirk of how strafing animations were introduced to the engine (tied to Players vs HumanoidDescription), so we won’t be changing this at the moment.