I can’t quite figure out what’s going on here. Unless I set AngularSpeed up to around 2 rad/s or more, my needle will only nudge a little bit each time the TargetAngle is changed, and then give up on trying to move. It will never actually reach the target angle unless it’s been updated enough times for the little nudges to get it all the way there.
Setting a higher ServoMaxTorque doesn’t help. Setting a higher AngularSpeed does help.
Why doesn’t it travel all the way for low angular speeds?
They don’t keep them alive. That’s a bug. And they do sleep while they are in motion if the vector is very small. Since the constraint doesn’t act on sleeping, once they have slept, they don’t wake up again.
I recently discovered this bug as well. I built a functional electricity meter (mechanical) and of course the numbers turn really slowly. That slow that from my research the engine puts the parts to sleep. And using other workarounds to keep them awake seems to make it a little more buggier. Others have said this too. Currently our only option is to use hacky methods/workarounds because Roblox still haven’t given us any way to manually flag a part as active or to allow it to sleep.