Brush System Failings - Ease of Use for simple box level design

In the Level Design Workflow tutorial and Developer Days sesion, along with the example project both use, it’s suggested to use the BSP brushes to block out the functional shape/spaces of a level, and then refine. I’m trying to do just that, but am having some really annoying workflow issues.

I have an open area and I want to place many walls. If I’ve dropped in a box and edit the Y to be the walls thickness and Z to be the height, and now I place this wall in a specific spot (aligned to some other existing wall, for example), and I want to extend the walls length, I can either:

[LIST=A]

  • Change the X for the length, or

  • Go into Geometry mode and just drag the correct face.

  • Both have really significant disadvantages.

    [LIST=A]

  • When changing the brush dimensions, it does does so relative to the center of the brush, which means my alignment along that axis is destroyed. I now have to realign the one edge of the wall against the other existing wall, and I have to do this every time I change the dimensions. Very tedious.

  • When moving a specific face, first: the XYZ dimensions of the brush are now irrelevant and useless. Changing any of them resets the manual Geometry mode changes I’ve made. And secondly, I have absolutely no way of knowing how many units I’ve dragged the face and thus can’t be sure of the actual size of this box. I want to stick to some number of units, but I can’t.

  • When trying to build an entire level this way, it’s very tedious. Perhaps there’s another trick I haven’t learned yet, but as it stands, it’s quite tedious to layout many boxes of the correct dimensions, iterate by changing those dimensions, and realign faces that I didn’t want to move in the first place.

    Another significant problem is when trying to align a large brush: Since it’s impossible to enter an XYZ position, the transform gizmo at the center of a brush is the only way to move it. If that brush is large enough, the center may be very very far way from the edge you’re attempting to align with something else, which makes for very awkward positioning. This makes me want to use Geometry mode to move a single face, but then I’m back to the units-being-irrelevant problem.

    Some changes to the system I’d like to see are:

    • Being able to position a brush, and therefore translate it, with specific X,Y,Z values.

    • The container box dimensions of a brush being at least visible, and probably tied into scaling

    In the case of a simple box, those changes alone would make me happy. I could move a face and (as long as all the edges are still orthogonal), I could see the 3 dimensions of the box, and each position.

    Additionally:

    • Lock a specific vertex so that when changing the bounding box of a brush, the selected vertex is anchored and every other vertex moves relative to it.

    I’m still very new to UE4, but these changes would make it significantly easier to use box brushes to do exactly what Epic suggests.