BSP/CSG drops triangles when building level

BSP brushes are having issues during level builds. This issue has been around for some time now, but has not been fixed. The problem is that bsp brushes in a map will have missing triangles after building the level. A sample project demonstrating the problem can be DL’d here:

http://www.roboticgladiator.com/BSPFail.

Problem was submitted to RCL on the #UE4Linux IRC. It was assigned UE-35290. (After some searching, it looks like there’s a similar report for the same issue under UE-12157.) This problem has been around for a couple of years now.

This may have been fixed with CL 3072169. Will try to apply the changes to 4.12.5 and see what happens tomorrow.

I applied CL 3072169 to 4.12.5. It does not fix the BSP problem.

Hi ,

I believe this is a different known issue, here. A workaround would be to move the stair bsp used in your sample level, then move it back. I tested this several times and each time the cube bsp returned to the original value. It is highly recommended that you use BSPs for white boxing a level, but move them to static meshes or replace them with new static meshes for the final level.

I’m sorry, but that’s not a resolution. As was pointed out, having to make a bazillion static meshes for dirt simple, one-of-a-kind geometry is a major nuisance – It’s time consuming and it clutters the user’s mesh library.

BTW, ‘jiggling the brush’ does make the problem go away – that is until you rebuild the map again. Then it comes right back again. The fact is the editor BSP code is broken and it has been that way for at least a couple of years.

On my end, with the sample provided, moving the stair brush out of the other brush and moving it back fixed the error, even after rebuilding. I tried this several times to ensure it wasn’t a fluke before posting. As stated previously, this is a known issue, however our resources are currently dedicated elsewhere. The reason I suggest moving to static meshes is primarily for performance concerns. Because of the current state of BSPs within the engine, they are heavier and less performant than static meshes. You can take BSP brushes and convert them to static meshes, which would prevent you from having to move the mesh desired and improve performance dramatically.