Lighting build keep saying unbuilt objects after build

Hi,
I have a problem with our project.
We are building static lighting, the problem is that it keep me saying “10 unbuilt objects” when the build finish.

The project is an open world, with a lot of assets.
In blueprints every asset is set as static and not movable, I have some static point lights in close spaces like temples, rooms ecc. to have a better illumination there, the sun is dynamic and movable directional light and in the end I have a skylight.

The map is divided in 25 levels as a checker, at the moment I am building just one square with all the meshes that it has on it.

I can’t figure which the unbuilt assets are… I didn’t move anything after the build, it just says “10 unbuilt objects” and I can’t find them.
Maybe the particles? I have some particles with light, but I don’t think they need to build light because obviously they are moving in the world…

What can I do to solve this?

I am using 4.8.3

Thank you very much

What happens when you copy and paste everything from your level into a new one + build it again? :slight_smile:

Hi ginwakeup,

If you want to see what objects have not had their lighting built you can easily do this by going to Window > Developer Tools > Output Log. Once this tab opens you can enter in the console command DumpUnbuiltLightInteractions. This will list any of the assets that have not had their lighting built or that are not building their lighting correctly. This is at least a place to start looking to see what’s going on.

Let us know what you find.

9 Likes

Thank you very much, I will test it.

I figured that if i turn off “postprocess volume” the message doesn’t appear!
So it seems to be caused by the postprocess effects… can it be possible?

Did you use DumpUnbuiltLightInteractions? If so, what was listed in the Output Log?

This is the dump output

DumpUnbuiltLightIteractions
Lights with unbuilt interactions: 7
Light PointLight2_10
Light SpotLight_1
Light PointLight8
Light PointLight7
Light PointLight6
Light PointLight4
Light PointLight3
Primitives with unbuilt interactions: 15
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_369
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_368
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_367
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_363
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_362
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16217
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16216
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16215
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16214
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16213
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.InstancedFoliageActor_1.HierarchicalInstancedStaticMeshComponent_16212
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_366
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_348
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_343
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_342

I don’t know what this means.

Any help? :confused: I am stucked

I noticed that now in Message Log I have this:
Map Check (26)
1 error: WorldSettings_1 Maps need lighting rebuilt

If I use DumpUnbuiltLightIteractions this is the result

Primitives with unbuilt interactions: 15
Primitive StaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.BP_temple_column_C_1.colonna_baccellata_dorica
Primitive StaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.BP_temple_column_C_0.colonna_baccellata_dorica
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_21
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_20
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_19
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_18
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_16
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_15
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_14
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_38
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_41
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_40
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_39
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_35
Primitive HierarchicalInstancedStaticMeshComponent /Game/Maps/Raoul/Heightmap/Heightmap_x4_y0.Heightmap_x4_y0:PersistentLevel.LandscapeProxy21.HierarchicalInstancedStaticMeshComponent_34

Can’t solve this…

Are you using any of the procedural foliage or grass tools in your scene or any Foliage painted with the Foliage tool?

If so, there is a known issue with procedural foliage/grass tools and leaving the “lighting need to be rebuilt” warning. If you’re not using those and are using the foliage tool, what are your settings in there?

Whatever the instances are that are being used in your level are causing the issue. If these are being animated or moving in any way just disable static lighting on them as the lighting would break or not look correct if these are moving anyway vs the baked in shadows.

I have the same problem with my map, and we are using the foliage tool.
But the “DumpUnbuiltLightInteractions” console command gives me this output:


DumpUnbuiltLightIteractions
Lights with unbuilt interactions: 0
Primitives with unbuilt interactions: 0

Any ideas?

I’ve just identified this issue (lighting rebuilt error for procedural foliage) in a roundabout way (it would be really helpful if this was acknowledged in the official docs, though I also realise this is still an experimental feature).

Is the lighting rebuilt warning a spurious one that I can ignore (in the hope it won’t pop up in a production release), or is the lighting actually not built properly?

We have the same problem - light won’t build on static meshes that are part of a blueprint with spot and point lights.

We use blueprint method to assemble a floor lamp inside of a blueprint class (where we also offset the pivot point of the lamp since the room we try to lit is cylindrical) and then use that blueprint (with all the lights and static meshes set up) in other places on the level to effectively make another copy of the same lamp, without having to redo its assembly setup again.

We do get the ‘‘x unbuild objects’’ message after a fresh light build and during gameplay the lights from those blueprints seem to be treated as dynamic, since the performance drops drastically when those blueprint lamp ‘‘prefabs’’ are used on the level.

DumpUnbuiltLightIteractions returns:
Lights with unbuilt interactions: 0
Primitives with unbuilt interactions: 0

We double checked that all the lights and static meshes inside of that lamp blueprint are set to Static. Moreover, the blueprint lamp has a Scene component as the root, with the Static Meshes, Spot Lights and Point Lights attached to the Scene component.

Any help/suggested workarounds would be helpful.
Thanks in advance!

I had this when I had pointlights nested under a movable blueprint. Detaching the light and disabling shadows and then re-enabling shadows and re-attaching the light solved it.

World Settings -> Force No-Precomputed Lighting = True (It is a checkbox, so check it)

After a build that crashes during the weekend due to a power failure I had the same error. After some investigation, I found the following solution :

>>Open swarm agent cache folder (C:/Users/YourPC/AppData/Local/UnrealEngine/4.16/Saved/Swarm\SwarmCache)
>>Delete all the information inside the folder (With subfolders)
>>Relaunch the light build works for me

Hope it can help someone

Lighting
[Actor] : Light Actor has NULL LightComponent property - please delete!

This warning is caused when there is a Light Actor with a “None” LightComponent. It is usually found in older maps where duplication was used to create the Actor and can be fixed by deleting the Actor causing the warning and creating a new one.

Maps need lighting rebuilt

This warning is caused when lighting has been invalidated by moving or modifying a light Actor. This can cause problems because the rendered lighting in the level is not accurately representing the current state of lights in the level. This error can be solved by going to the Build menu and rebuilding lighting for a map.

Great work mate.I have a 1 question about adding new objects to scene.While im adding new object it keep saying to me i need to rebuild lightning.I searched some forums to find a solutions but its only keep going with just make a build a light.But what if i want to keep adding or moving objects without rebuilding it all the time ? Also i want to keep a preety good shadows to make better feeling of the scene thank you and sorry for my english ^^

I have found the solution to my problem–Thanks to Hobinson’s post about the console command. The mesh in-issue was tracked down and it was found to be in a different sub-level than the rest of the static mesh actors (the image shows two of the same type of static mesh actor selected). This particular sub-level was for dynamically-lit landscapes, so it was being hidden while the static objects in the scene were being built. Upon un-hiding the sub-level, then it exposed the misplaced static mesh actor which now has inconsistent/unbuilt lighting. The solution is to add it to a sub-level which will be visible during the light building process.

Thank you
DumpUnbuiltLightInteractions
Worked for me,
all this hard work for a pot…

For me this issue was caused by spawning actors runtime which had a StaticMeshComponent with the settings:

  • Mobility: Static
  • Cast Shadow: true
    Either setting the Mobility to Movable or disabling the shadow casting removed the message.
1 Like