AlignPosition and other Align/Vector objects need a way to only affect limited axis

Apparently, after BodyPosition was deprecated, AlignPosition superseded it, however it has less necessary features then the one it supposedly supersedes.

Body position used to let you apply a force only on a specific axis (lets say just the Y axis, or the X and Z axis) while being able to ignore the other axis entirely.

AlignPosition does not have this, and if you were to use AlignPosition you would, on each frame, have to read the current position of the axis you don’t care about, and set those as well as the axis you do care about which is more effort than necessary, especially when older, deprecated objects allowed you to do this.

Why would Roblox deprecate an object but not provide the same features in the new, supposedly better object, that supersedes the other?

My proposed solution is to add a property called AxisVector, which would be a Vector3 and would determine how a force would act on an axis (set to <1, 1, 1> by default).

For example, setting this to <0, 1, 0> would only update the position on the Y axis, and would ignore the X and Z axis. setting it to <1, 0, 1> would only update position on X and Z axis, and not Y axis.

This would maintain compatibility with older scripts.

25 Likes