I have a few stationary lights that overlap, and more than the max of 3. After I build, I get an error that they will be dropped to movable and there will be a performance loss, and moving through my level I get a fluctuating notification of around 50-80 unbuilt lights.
However after this build, I get upwards of 120 FPS and my lighting is actually working perfectly, with little perceivable performance loss.
Unfortunately, as soon as I re-open my project, all of that lighting data is dumped and then I get to around 1700 unbuilt objects instead of the less than 100 that I saw building before.
Is this a current issue or am I doing something incorrect?
I cannot use static lighting and movable lighting does not look good and does, in fact, kill performance. I simply want the lighting data to stop being dumped just because of the few overlapping stationary lights I have in my levels. And no I cannot decrease the radius, either.
EDIT:
After a complete build:
Cmd: DumpUnbuiltLightInteractions
DumpUnbuiltLightIteractions
Lights with unbuilt interactions: 0
Primitives with unbuilt interactions: 0
After closing and re-opening the same level:
Lights with unbuilt interactions: 8
Light Candlelight_C_2
Light Candlelight_C_1
Light Candlelight_C_0
Light Candlelight_C_711
Light Candlelight_C_970
Light Candlelight_C_1216
Light Candlelight_C_1450
Light Candlelight_C_24
Primitives with unbuilt interactions: 375
[attached in txt file]
With regards to Stationary Lights you can only have 4 that overlap. This is not an arbitrary value that is picked, this is a limitation of using them. Each light gets assigned to a RGBA value so that they can work this way. In order to not have these overlapping and avoid the performance loss you will need to change the mobility of the light or the radius size so that they do not overlap.
I’m not sure why all the lighting is being dumped when you reload the project though. Can you try this in a template or blank project with the default settings and let me know if this happens there as well?
To see what objects are not being build can you make sure to open the Output Log (Window > Developer Tools > Output Log). Then use the console command DumpUnbuiltLightInteractions and copy paste that part of the text here. If it’s more than a few line please put it in a txt file and upload. This will list any objects that are not being built during the lighting built. Which if you’re using stationary lights that are overlapping or have objects that are static and then moving them can break lighting.
Did you try this in a blank or template project as well to see if this is solely project related?
I see you’re using the Bumping Pub assets from the txt file. I do not have access to this content so it would be good to know if this is happening with something other than that particular content.
Also, since I’m not familiar with how this content is setup, are the objects listed here in Blueprints, or are they just placed in the world, are any of them painted in place using the Foliage tool?
At this point to really proceed we’ll need to confirm this is happening without the mentioned content above and if it’s not, then we can start to look at what is setup differently about this content that may be throwing the issue. If it’s not the content, we can start looking elsewhere with the editor.
New template seems to be fine with 5 stationary lights and overlapping radii. Lightmaps are not dumped on re-load.
I am attempting to see look for any other details within my game that may be affecting builds. If I cannot narrow it down, I’ll test out the props, which are meshes in the Bumping Pub pack, and see if there may be issues there.
I’m sorry but what is that supposed to fix? As far as I understand I needed precomputed lighting. The entire issue was that it wasn’t precomputing lighting in the project and thus murdering the framerate.
I answered by a mistake. I didn’t see your actual issue. I thought that you can’t build the lighting, that the unbuilt objects message keeps appearing again and again, but I was wrong. Sorry! I told you. You can convert the project to a newer version.