BoxTrace endpoint?

Why does a boxtrace require a startpoint, endpoint and box-halfwidth? With a startpoint + the dimensions of the box the game should already know all the dimensions. Why must I also supply an endpoint (which is probably the center-end of the box or a corner?

Also I noticed that boxtraces ignore visibility (as in they just return all matching objects within their box through all walls/terrain).

Start and End locations are vectors (not dimensions). They dictate where the box starts and where it finishes. The Half Size is probably closest concept to “dimensions” that you’re thinking.

As for visibility - it depends on which box trace you use. You can specify BoxTraceByChannel and that will check for visibility it the results that it returns.