As a developer, it is currently impossible to use humanoid scaling with custom avatars that Roblox cannot calculate the HipHeight of.
Currently, Humanoids use some internal logic to guess what HipHeight should be, but this can set HipHeight to wildly incorrect values on certain custom characters. For instance, the calculated HipHeight of the below avatar is -1:
Note that critical parts are in an invisible subrig off of the rootpart, ie. Head, UpperTorso.
The actual rig is rigged off of the rootpart parallel to the critical subrig. This causes no problems.
(The character zooms away because of another bug)
In my case, I want to use automatic scaling to resize the above avatar according to its age. Automatic scaling works fine, but Humanoids keep resetting HipHeight to something completely wrong when the character scale changes. (with this character I have a HumanoidRootPart that is normally 2 studs tall and an expected HipHeight of 1, but automatic scaling sets HipHeight to -1 for some reason when I adjust any of the scaling values.)
It’s not possible for Roblox to correctly guess HipHeight for all possible custom characters, so I should be able to manually specify the original HipHeight at BodyHeightScale = 1 (preferably via an OriginalHipHeight NumberValue, similar to the OriginalSize/OriginalPosition values that autoscaling currently uses) so it can be rescaled appropriately.