The value of BodyGyro.CFrame can not be set without using Scripts/Commandline.
This is not a huge problem. But I thought it would be much faster (and also easier for beginners) if you could set the BodyGyro CFrame value the same way you set the Parent of any object.
How to set the CFrame
Click CFrame property
Click on a Part to copy it’s current CFrame
Done.
The CFrame would not be locked to any part. If you move the part then the BodyGyro would still keep the old cframe value.
The BodyGyro is a legacy object that has been superseded by the AlignOrientation and other Constraints, so there will be no changes/improvements to the BodyGyro going forward.
By using a Constraint to control orientation, you can change the CFrame by moving the attachment, which are functional with standard Move/Rotate tools.
One reason still to use BodyGyro over AlignOrientation is the ability to constrain any combination of axis using MaxForce. My understanding is that isn’t possible with AlignOrientation?
It is possible but in a different way. By default the constraint will constraint all 3 axis of rotation. You can use Single Axis mode to only constrain 2 axis of rotation, and from there turn on perpendicular mode to keep the two primary axis perpendicular, which essentially constrains only 1 axis of rotation.