IKControl's Offset Position no longer updates when Model:ScaleTo() is performed

If a model has an IKControl affecting any of its descendants, and the model’s scale is changed with Model:ScaleTo(), the IKControl’s offset position fails to update with the new size of the model. This did not used to happen until about a few weeks ago. IKControls used to update its offset position when the model changed sizes.

I am currently working around this by setting the parts of ChainRoot and EndEffector to nil for one frame, then back to the original parts.

Expected behavior

I expect the offset position of IKControls to update with the scale of the model if the model is scaled with Model:ScaleTo(), as it did previously before something was changed.

Hi, we can’t seem to reproduce the issue. If the model has an IKControl under it, and :ScaleTo() is called on the model, the .Offset (and .EndEffectorOffset) property is scaled accordingly to the new factor.

Is the IKControl under the model you’re scaling? Could you provide more detailed reproduction steps or a placefile? Thank you

1 Like

Hi there, just wanted to follow up again to see if you are able to provide further instructions to reproduce the issue. As mentioned above, a placefile or code snippet/screenshots of how you set up the IkControl would be helpful.

1 Like

Thanks! I haven’t been able to create a reproduction file that isolates the issue, but here is how I have set up my IKControls:

  1. Create an IKControl with Type set to Rotation, and Pole set to nil. In my game, the EndEffector is set to the Head part of my custom character, and the ChainRoot is set to the base of the neck, which allows its head to turn based on the camera’s position with a script. Have the Offset Position set to 0,0,0.

  2. Have the IKControl set to Enabled = false while changing the scale of the model that holds the parts. This will not cause the bug to happen. However, if Enabled = true while changing the scale of the model, the parts’ offset positions will fail to update properly.

I first noticed this on February 7, but it could have started happening any time after December 27, which was the last time I tested it working correctly. I made no changes to my script of the IK properties.

1 Like