4.13 Incorrect BSP rendering: Invisible BSP, loss of material and editor crash

My current project is using 4.13 and I am creating an apartment type environment where I combine BSP (Geometry) with static meshes where meaningful. But the basic layout (walls, floor, ceiling) is made from BSP. There is no unusual stacking of several BSP directly on each other - just common wall / floor / ceiling layout.

From the beginning of the project I am facing various forms of BSP rendering problem that have common symptoms:

  1. BSP become either INVISIBLE or only partly rendered

  2. BSP loses its MATERIAL information on one or more faces.

  3. Some actions or property changes can cause editor CRASH - there should be several crash reports sent from me around 17. - 18.9. 2016. E.g., Order change of the incorrectly rendered BSP caused crash several times.

These problems makes using BSP practically impossible and I assume the only solution is to replace all BSP by static meshes (or to try another editor version) unless there is a trick to go around.

I have faced several different stages with above symptoms:

A. In the beginning of the project I created one big floor BSP but at some places I needed a different material so I created a thin BSP (width 0.2) and placed them directly on the floor so 0.1 unit of the thin BSP was above the floor level. Very soon some new thin BSP were not rendered correctly.

(1) One thin BSP makes floor transparent. (2) When I dragged the BSP up and increased its size the rendering problem was still there but when it was high enough above the floor, then BSP itself was fully or partially invisible. (3) This one just lost its material.

Here one BSP was partially rendered.

I managed somehow get over this stage by playing with BSP Order First/Last → but that in some cases caused editor crash.

B. Later I noticed that when I build geometry / lighting or just create or copy a BSP, then some BSP faces lose their material (I guess around 20 faces material losses out of 100 - 200 existing BSP faces).

C. Last and terminal stage is when by practically any action (building geometry, lighting, placing BSP, deleting BSP) (I guess) all of BSP become incorrectly rendered:

Above: before any BSP related action …

… and after.

For illustration I have selected one invisible BSP. Remaining visible objects are either only partially rendered BSP, BSP without material or static meshes.

Please let me know if you find out any temporary solution other than static mesh conversion (which I will probably do soon to be able to continue.

Reproducibility: Well, it is hard to say. There are posted several similar issues on this server (both old and new). I would need to start a similar project to see how reproducible it is. The first stage was just a few BSP so it might be doable. On the 4.12.5 I am doing very similar project but I have not seen such a problem all along the project. There were only some special strange rendering when I used transparent materials there but this is another story.

I have just tried to reproduce the issue and at least the first part (stage A described above) seems to be easily reproducible:

  1. Create an empty project
  2. Add a BSP cube (2000x2000x20) and assign any material to all its sides
  3. Place a BSP cube on the previous BPS, assign (another) material and change its width (z brush size) to 0.2. If the BSP is close enough, there will be hole in the other (large) BSP.

Also note that if I delete all thin (0.2 width) BSP from my apartment project, then the invisible objects at the picture bsp rendering bug 4.png reappear.

Hi vhruska,

I was able to reproduce the .2 scale error and have entered a bug report here. In addition, there is a bug report in for bsps artifacting/breaking when edited and overlapping here. Unfortunately, however, I have not been able to reproduce the ordering crash. Do you have crash logs from the last time this occurred? They can be found at \Unreal Projects\PROJECTNAME\saved\logs. Additionally, do you have any steps I can take to recreate this on my end?

Hi,

I attached the crash log folder Logs.

One note to the UE-36401: The BSP with below 0.25 width, that breaks the face of the other BSP, (in my case - see last two pictures above) does not need be in direct contact (touch) with the other BSP - it is enough to be above it. In one of my tests they could be up to 140 units apart each other and still causing the face rendering issue.

Tested Crash steps:

  • Create a Blank project

  • Select a material

  • Place a BSP cylinder and set: Outer Radius = 10, Sides = 16

  • Select this BSP and replicate it by Alt-key two times, i.e., three columns non-overlapping standing several (20) units apart each other

  • Rotate the middle one by 90 degrees → two crossing points

  • Select the column, which is not fully rendered at the cross section point (in my case I selected the left vertical one)

  • Set Order → First

I tried this and it crashed twice so I hope it will work for you. I had also a crash with boxes but it needed little bit of playing (and it was in the project with some BSPs already causing the rendering issue). In my current project, whenever there is an BSP that is somewhat artificially overlapped by another BSP, I try to fix it by Order->First but practically in all cases it crashed. All attached crash logs are due to this issue. With all of them I clicked Send so I assumed they went to the Epic team.

While I haven’t been able to reproduce it on my end, I did some digging and found a bug, UE-35822, that has already been entered for crashes related to BSP re-ordering. The good news is that it looks like this has already been fixed and should be in the 4.13.1 hotfix. The even better news is that this hotfix should be out soon! Once it comes out, we can test to see if this still occurs for you.

I cannot reach UE-35822 - is it public? Anyway, I can test it when 4.13.1 goes out and report back here.

I tried the crash steps and they work 100 % but it is necessary to select a material and create the BSP with the material. I made one more screenshot of the whole editor including the selected material at the moment when I selected one column and clicked on Order → First and the editor crashed.

Hi vlhruska,

Unfortunately no, the report contains some sensitive information that prevents us from currently opening it to the public bug tracker.

I would like to write a short overview of the three reported issues with BSPs on this page:

BSP become either INVISIBLE or only partly rendered

In my case this BSP issue was caused by placing BSPs with one size less than 0.25 units. The issue is tracked under UE-36401 (vote there) and the workaround, when BSPs become invisible, is to increase sizes of all BSPs to at least 0.25 units.

BSP loses its MATERIAL information on one or more faces

This issue was not addressed yet but there is another report 4.13 BSP material bugs that initially described the same but at the end somewhat different BSP issue was tracked (UE-35999: Additive BSP Selections Acting Grouped after Building Geometry). So it is hard to say whether the issue described here will be addressed by it.

Some actions or property changes (related to BSP) can cause editor CRASH

There is a good change that this issue will be fixed in 4.13.1 as stated by above.

Hell no, updating is not the solution. This happened in 4.12.5 to me and I updated my engine to 4.14.0 (newest one for now). Guess what? Same problem and I couldn’t fix it. I did send a ticket but that OP support said something like ‘‘check our forum, you will find your solution’’, I couldn’t…
Here is my problem’s screenshot, they must be same.

Hey Tutubana,

The ticket that posted was for a crash related to re-ordering BSP brushes, which doesn’t sound like the issue you’re experiencing. Do me a favor and open up a new thread for your exact issue in the bug reports section, and provide as much information as you can so that we can investigate

Thanks!