I know with BSP brushes, you can select a face and move it, effectively resizing the brush in one direction. This is a super-handy feature, but we need something similar for both Static Meshes and Blueprints which can be scaled.
Example case: I have a Blueprint which functions as a “level bounds”. Its Construction script generates five flat box collision meshes (4 walls and a ceiling) which, upon contact, trigger a force-field particle effect. At the corners, I use instanced static meshes which are procedurally duplicated vertically to match the size of the root cube’s bounds; these pillars are “force field emitters” which also have particle systems attached to them.
So, I use this box to bound my level. Problem is, suppose I’m designing the level, and I realize “I need the north wall to extend about 800 units outward to make room for this object here”.
In order to do this, I have to resize the object using the (at this point, very very far away) central scaling widget, calculate the difference between the new scale on this axis and the old scale, halve it, re-add that to the original scale, then subtract that value from the object’s location coordinate on that axis.
That’s a hell of a lot of steps for a simple “scale from this side” operation.
My intial theory on a solution involves a slight redesign of the transform gizmo. Basically, in scale mode, extended beyond the 3 main axis scales on both the positive and negative sides, six small circles. Clicking-and-dragging on these will perform a combination scale-and-transform operation which scales the object along an axis and transforms it inversely so that the opposite end to the one you’re dragging stays in place.
Failing that, some sort of macro which performs this converse-scaling operation maybe?